Probably making mental health care not only free for all, but also encouraged would be a big help. Right now mental health care is expensive and also looked down upon by certain people in our society.
While the overall view of mental health care has improved drastically in my lifetime (it seems to be widely accepted at this point) the cost really is a huge issue. One of my kids we adopted as a teen, this child had never had a stable home, was abused, etc. The therapeutic needs of this child were / are incredible, and the associated costs were (and continue to be) eye-watering. This is what my child needs and so it must be done, but few people have the disposable income to be able to absorb these incredible costs.
What's the alternative? Without treatment, my child would almost certainly end up with a terrible life, likely as a net drain on the taxpayer.
But even ignoring the taxpayer cost, what sort of society do we want? One filled with people struggling mentally, fighting to maintain balance against an overwhelming avalanche of trauma they didn't ask for or deserve, yet were heaped upon them by circumstances beyond their control?
I've seen the statistics on teens like this, and they're ugly. They turn into adults that cannot cope with problems and turn to every manner of illegal activity to try to cope with their unresolved trauma.
Mental health care needs to be accessible to all, not just those with means. It's inarguably critical to the overall health and well-being of our society.
Will it stop all of these shootings and such? Of course not. But I'd bet dollars to donuts it would have a significant impact - not just on violent acts that grab headlines, but in our everyday interactions as well.