Кстати как он вообще осуществляется?
Не вдаваясь в подробности: берёшь сниффер и ловишь все TCP/IP пакеты

Бороться с этим можно только применяя VPN соединение, при котором все пакеты шифруются.
В противном случае, как бы ты не изгалялся, существует возможность, что тебя поимеют. Как вариант - SSL соединение с отдельно взятым сервером. Ты кстати, зря его боишься - тебе только нужно сертификат на сервере установить, а дальше связка браузер - сервер будут выполнять за тебя всю работу, т.е. дополнительно программировать ничего не придётся.
Что же касается передачи пароля через URL, то это неприятно потому, что запрос много где будет отсечивать - начиная с лога у провайдера, и заканчивая логами всевозможных маршрутизаторов, доступ к которым при желании получить можно.