I haven’t read through the other threads on the subject (but plan to). Still wanted to throw in my .02, as this has been a subject that I looked into a while ago.
First, many (if not most or all) states have a leash law. This not only means that an owner is required to keep a dog on a leash, but it required to BE IN CONTROL of their dog at all times. If a dog is loose in an unfenced yard next to a public horse trail, the dog owner is wrong. Rather then waiting for a problem to happen, report this incident to the park police. Since you are dealing with a specific location (private property) it should be very easy for them to find the offender and take necessary action.
I favor the “ride at the dog” approach. This, however, does require an “agressive” rider and horse. There is always the chance that it will not work and make the dog even angrier.
Running away has it’s own +/-. It will likely trigger the chase instinct in the dog. If, however, conditions allow and your horse is in good shape, you can outrun the dog.
I have sucessfully used both of the above tactics on local trails where many people take dogs off-leash (in direct contradition to the state’s leash laws and the State Park’s “no dog allowed” policy).
Regarding guns, I think this is a very bad idea. First, in many places you will be in violation of a gun law. You could be also be breaking additional laws (hunting, guns on state land, etc.) If you actually discharge that firearm, you could be in for a world of trouble. In NY at least, simply pointing a loaded gun at a person is considered aggravated assault.
Not to mention that it is very dangerous firing from horseback. If you hit the dog, you could still be in trouble. If you miss and hit someone else, things get even worse. Not to mention it is always possible to hit yourself or your horse. If the horse is not trained to gunfire, he could spook and you could end up on the ground with the dog attacking you.
Finally, what if the dog owner is also armed and decides to shoot back? Needless to say, you and your horse are a pretty easy target to a shooter on the ground. If you point a gun in his direction (even while trying to aim at the dog) while he is on his own land, he could make a real nice case of self defense. You could easily see how a lawyer could spin this one.
The other “projectile” approches also have their problems. The water guns (especially if they look like water guns) are IMO the only vialble approach. This is because they can’t be confused with a real weapon, and they will not harm you or the horse.
Pepper spray, etc. is designed to be used at close range. If an attacking dog is that close, the horse will not likely be standing still waiting for you to spray. You will almost certainly have to be in an unbalanced riding position to hit the dog on the ground, and will probably get some spray on you and/or your horse. Even with a longer range spray, if the horse does a quick spin/crow hop, etc. it could easily spray the horse.
Lawyers rule the day… Running away or scaring off the dog are the best choices, if at all possible. Even if they are wrong, once you hurt “cute, little fluffy who only wanted to play - then that evil person on the big scary horse attacked my little baby” you are in for a “he said/she said” argument.