We talk about this issue all the time on GreyTalk. The general consensus over there is: If you are in the right (your dog is leashed and on public ground), you should do whatever is necessary to protect your dogs.

Bring a big walking stick, a PVC pipe, a rock, spray bottle, pepperspray, Direct Stop, mace, whatever. You have every right to protect your own dogs from loose and aggressive dogs.

FWIW, we have a dog aggressive/territorial dog at the end of our street who we sometimes encounter. Because Ivy is leash reactive, I use any means necessary to push that dog back. One time, I had to throw a rock near it (not actually "at" it), and I didn't feel an ounce of guilt. That dog had attacked us before and I was NOT going to give it that chance again.