There are a myriad of options out there for those who do not wish to or can't own a firearm. Pepperball guns are a good long distance way to potentially stop a threat. I've seen this stuff in action, and it can be effective. However, there are no gurantees.
With any less than lethal option, there is the chance an aggressor may not have the desired response. It is supposedly very rare but I have heard that some people can be immune to irritants.
But it is certainly better than nothing. If a pepperball gun is too expensive, pepper spray is also a good option. Pepper spray expires and can lose it's effect after the expiry date, so be sure to replace it as needed.
If that's not a good option for you, you can consider the old standby of a baseball bat or other blunt weapon. Canes can be an excellent way to have a self-defense tool on you that will not raise eyebrows or be confiscated when entering secure areas and such.
I cannot in good faith reccomend a "taser" for self defense. The kind of tasers that are cheap and easily available mainly rely on making a loud sound to scare an attacker. The actual electrical effect would produce something akin to a small burning sensation rather than incapacitating a target.
Actual capital T Tasers are prohibitively expensive but if money is not an object these may be the best choice for you. Tasers work by propelling two electrodes into a target and conducting electricity through the body in order to achieve a paralysis effect. It's shortcomings include lack of range, need for proper shot placement to achieve full body paralysis and there is no gurantee it will penetrate thick clothing like jackets. They are also practically useless at point blank range, requiring a spread between the electrodes in order to achieve a significant incapacitating effect.