I used to carry Halt. it works but very hard to keep the spray confined to only one dog and also not inhale it yourself, which will stop you in your tracks. it's red pepper and will take your breath away, sting and burn. I think it's your best choice though.
I bicycle more now and I know the problem with aggressive dogs and stupid passive owners very well...
DH and I carry bear spray when hiking. it works the same but sprays a bigger stream a greater distance. IMO the containers are too bulky to run with but if it stops a grizzly bear, it will stop an aggressive dog. It's about $45 a can. DH and I have accidentally sprayed ourselves on 2 occasions( memorable!!) so I know how it feels.
the idea is to get a cloud of spray in the air in front of the charging animal. when they run into the spray, it stops them. you need to be cautious about which way the wind is blowing and often with dogs.... the attack happens suddenly from very close by. you don't want to spray your dog, yourself, etc.