strange... the pepper spray I have experience with sprays a stream pretty accurate to about 8-10 feet and the can isn't very big. I would imagine you can get better cans then that.
you also don't have to hit their eyes... just getting within 5 feet of the point of impact will cause minor respiratory irritation and eyes to start burning. Most times people tell you to hit them in the chest which will cause severe eye, nose, and throat reactions causing them to gasp and cough. If you hit their face its absolutely debilitating causing temporary breathing problems and temporary blindness. Some people react to pepper spray more then others but its a pretty safe bet you would have enough time to run if you hit them with regular pepper spray.
I would rather have pepper spray then a stun gun. I would rather have a pistol then a knife... its more likely them backing down to deadly force then non lethal alternatives.