Basically you need to change the messed up culture the USA has (as demonstrated perfectly by this guy) rather than changing the gun laws. For example, harsher penalties for those convicted of shooting someone in mistaken or unjustified self-defence. If a guy pulls a knife or pistol on you and wants your wallet, just give it to him and report it to the police. If someone breaks into your house, call the police and lock yourself in a room. If you live in a high crime area, move somewhere else. People that own firearms with the intent purpose of killing someone they believe to be threatening just give normal gun owners a bad name, and I doubt most even have the training and ability to use one effectively in that kind of situation anyway.
LOL what do you think guns do? They aren't toys, they kill people. If you are not comfortable with the fact that you might kill someone in the process of protecting yourself and your family with lethal force, and the responsibility that comes with it, you do not deserve to own a firearm. If you own a gun just to own a gun, and have not taken the time to practice using it and also learn basic gun safety, you also do not deserve to own a gun. I'm not saying if someone pulls a knife on you that you should instantly shoot them without warning, and without being in genuine fear for your life. Having a gun for self defense isn't always about protecting personal property. I had some friends in high school that got shot by some gangbangers, and the only reason they didn't die is because the people shooting ran out of bullets. I think it was over some stupid argument. I agree that if you live in a place where crime is not an issue, guns are completely unnecessary. Unfortunately in most large US cities, crime is a major issue, and criminals sometimes shoot people just for shiggles. Also, telling people that live in high crime areas to "just move somewhere else" is pretty much just telling poor people to stop being so poor, and then not associate with poor people afterwards. Just moving into a nicer area on the outside of the city doesn't guarantee anything either, because those are the places criminals target for home invasions since there is better stuff to take.
Like I said, I don't live in a bad neighborhood anymore because I've been pretty successful and have moved up, but a lot of my friends haven't been that lucky. If they invite me to a BBQ, birthday party, etc., I'm not going to say "sorry you live in too crappy of a neighborhood for me to grace you with my presence, even though I also used to live there." I'm also not going to leave my life in the hands of a criminal, who may or may not kill me and my family, even if I do everything they say. It's easy for people that have never been put in life or death situations to criticize others for owning firearms, and for also being ready to use them. Also, my guns were legally purchased and registered with the police to be in compliance with local laws.
I do agree about changing the gun culture in America. If Americans weren't so damn violent and criminally minded compared to other wealthy nations, guns wouldn't be necessary. Until that changes though, and I doubt that it ever will, not being armed in a major US city is pretty much just rolling the dice and hoping for the best. Obviously that isn't the case if you live in a small town with low crime, but not everyone does.