Remember that America has had plentiful guns for a couple of centuries and only recently developed a persistent problem of mass shootings. Also there are other countries with guns that don't have this problem. So if you want to fix it, you have to look at the root causes, which include...
* Poor job prospects. People who can't get a job that pays enough to live on feel frightened and angry. It is difficult or impossible for them to participate in society, so they feel little if any loyalty to it.
* Social fragmentation. When job options, home insecurity, and other forces drive people to move frequently then that shatters social ties. The family has gone from extended to nuclear to now having lots of singles and single parents. When people don't have a social support network, that undermines their ability to handle challenges well. It also means that more kids grow up without learning a good set of coping skills.
* Lack of meaning. People want their lives to matter. They want to make a difference -- usually, want to make the world a better place. Profession, relationships, and home are among the things most people turn to for meaning. Unemployment and menial labor, lack of family ties, and frequent moves undermine that sense of significance. People go looking for ways to fill the gap, and that can leave them vulnerable to cults, violence, and other problems.
and then offers suggestions to address the root causes (because just trying to take away all guns won't work):
* Provide resources for self-regulation. These may include quiet rooms, reference materials, comfort objects, or whatever else helps people feel safe and calm after something upsetting. Quite a lot of violence -- especially in public places -- happens because someone gets wound up and then has no way to wind back down. That means the next thing that can go wrong tends to trigger an outburst, sometimes a violent one. Think of these as social firebreaks: they prevent small problems from becoming large problems.
* Establish a right to work. It's not that there's a shortage of workers or work that needs doing; what we have is a resource distribution problem where a few people are hogging so much wealth that it doesn't leave enough circulating to meet personal or public needs. Restore the high-tax-bracket system that was developed after the Great Depression, and that would fund public works and public-service jobs for everyone willing and able to work.
[links omitted; please read the entire post and follow the links.] I agree with every word of that post.