O ceejayoz tem a melhor resposta para evitar o ataque especificamente mencionado aqui, mas também quero destacar o que muitas pessoas estão perdendo aqui, o que é basicamente porque o HTTP já descobriu a outra parte. Você deseja fazer um redirecionamento 301 permanente. Isso informa ao cliente para fazer novas solicitações para o novo endereço. Então, sim, se alguém digitar o URL errado, ele fará 2 solicitações, MAS, no futuro, um bom cliente deve detectar solicitações para essa URL e fazer a solicitação correta para evitar mais solicitações desperdiçadas. O problema é que isso é apenas para esse URL exato. O HSTS aprimora esse esquema dizendo também 'pelos próximos n segundos também não permite conexões não seguras desse domínio'.
Os usuários não devem visitar sites confidenciais em locais não seguros. Eles não devem se inscrever especialmente em locais inseguros. Estes são princípios básicos de segurança do usuário que devem ser ensinados da mesma forma: 'não abra anexos de fontes não confiáveis'. Qual é realmente a melhor resposta para impedir ataques MiM em sites que nunca foram visitados.
Como observação lateral, alguns navegadores aprimoram isso dizendo também que certos sites conhecidos sempre usam HSTS. Infelizmente, você não pode simplesmente se adicionar a esta lista facilmente.
Leituras adicionais:
http://coderrr.wordpress.com/2010/12/27/canonical-redirect-pitfalls-with-http-strict-transport-security-and-some-solutions/
http://dev.chromium.org/sts