Maybe I'm using too many words. Let me make this simple. If you want a gun for personal protection, and can pass a basic safety and competency test, then by all means you should get one. I don't want to stand in the way of that right, and I don't think government should get in the way of it either.
BUT
You shouldn't be allowed to have fully automatic weapons for that defense, especially in the city. These weapons fire too many bullets in a manner that is too uncontrolled. It might seem to be an advantage for you to be able to put thirty bullets in the general direction of a home intruder before he can more than blink, but I doubt you'd think so when those bullets rip through the walls to kill your family members in the adjoining room, or your neighbors in the next house or apartment.
You shouldn't be allowed to have armor piercing rounds. I have yet to hear of any criminal who goes around wearing body armor. The only reason to use them is if your assailant is wearing armor, and that means soldiers or police. In either case, if things have gotten so bad that these sorts of people are the enemies of our citizenry, gun control laws will be the least of our concerns.
And you shouldn't be allowed to own a gun in the first place without showing that you understand and respect basic safety procedures about guns. You should know what a trigger lock is and how to use it. You should know what the safety does and when you should turn it off. You should know how to take your gun apart to clean or repair it. And you should know how to keep it away from children.
And as for your issues with tazers and mace, you as much as admit that it takes a great deal of training to overcome their effects. There's a reason cops reach for their mace first when they come on an aggressive individual. Almost nobody, except those with elite military training, has the ability to do withstand it. Indeed, with appropriate training, you can learn to ignore the pain of a gunshot wound, provided it doesn't kill you in the first place. Are you prepared to guarantee that every shot you make at an assailant will be a killing shot? And from a moral perspective, wouldn't it be better to protect yourself against an attacker without having to resort to deadly force?