I agree. There are several reasons why things like this happen. Firstly, poor mental health treatment. When it comes to medical treatment, "early intervention" has been a buzzword for quite some time. If you catch something early, it is far easier to treat and causes less damage. Yet, often because of the stigma of mental health treatment, people either wait too long to get help... or don't go at all. We have yearly medical check ups. Yearly mental health check ups would be a good idea, also. Secondly, when we find younger people doing this, it is often due to either what I just said... poor mental health assessment and treatment, poor management in schools regarding bullying, or the desire for "hero worship". Though I believe that the last one is more rare, when kids see that the Columbine killers are worshiped by some and seen in a positive light, for kids with self-esteem issues, this seems like an easy way to be seen as "cool". Of course, this also goes back to my first point... mental health. Thirdly, we live in a society that practically fosters jealousy and anger. Everything is commercialized and in order to "fit in" one is "expected to have what others have. And the anger that is spewed from extremists on politicized issues often gives reason to the mentally unstable to act on that extremism.
The issue really isn't about guns. It's more about mental health and society in general.