Если бродячие - нагибаешься и поднимаешь камень (даже если там камня нет) - как правило если он есть, то бросать его уже не в кого, сЪябуют со скоростью звука.
Если есть камень - обязательно кинуть в самую часто и громко гавкающую псину. Она заводила - получит пизды и все отстанут.
От бойцовских - стоять как вкопаный до момента непосредственного сближения. Если собака останавливается и облаивает - продолжать стоять и паралельно с применением мата убеждать хозяина придержать суку, угрожая милицией.
Если видно, что собака не останавливается (она при этом не лает, а рычит и целится куда бы куснуть) - дождаться ближней дистанции и въебать с ноги одновременно отпрыгивая.
Если собака прыгнула в район груди/головы (в общем - высоко берёт) - прямым ударом ноги в живот отбить. На всякий случай руки держать у живота перекрещенными в районе запястий - при промахи ногой - перекрестьем рук оттолкнуть в горло уверенным и резким движением. В одно движение и сразу полшага в сторону и замереть до следующей атаки.
P.S. Лучше всего, конечно - штакетник или камень. 90% сами разбегутся как только он появится в руках, а если всё же атакуют - въебать сильно и по башне. Да, камнями зря кидаться не надо: во первых - с 2-3 метров непременно промажешь, во вторых - надо будет искать новый камень. Если бить камнем - в упор, с метра максимум. Дальше метра - просто угрожать.