A melhor solução seria usar uma conexão criptografada de ponto a ponto. Isso nem sempre é uma opção, porque alguns sites não oferecem HTTPS em todas as partes do site, como o Facebook, eles só oferecem HTTPS completo na tela de login, mas em nenhum outro lugar. Isso ainda permite que atacantes capturem a sessão das vítimas e a sequestrem.
Como mencionado em outra resposta, você pode usar um túnel SSH ou VPN para um local confiável se estiver atualmente em um ambiente hostil no qual você não confia, isso permitiria que você tivesse uma conexão criptografada dentro dessa rede. então eles não podem decifrar seu tráfego, embora eles ainda possam capturá-lo.
Existem alguns complementos disponíveis para o Firefox para o greasemonkey e outros addons que irão mudar todos os links em uma página de http para https que forçará mais criptografia, mas o problema real está no site, onde eles devem oferecer um conexão segura sem que você precise fazer isso manualmente.
EDIT: Uma ferramenta foi lançada para inundar os usuários do FireSheep em sua rede, aqui.