The main reasons for Columbine (and the Connecticut and... ) were that the shooters wanted to be famous. They dreamed somebody makes a movie about them and they discussed which actor will play whom. Mike Moore granted them the wish. I cannot swallow him since!
With the media, being crazy like they are, and the politicians exploiting every occasion to make hay, the easiest way to became famous is to spend $1000 on guns and shot some kids in school.
Millions of great, hard working, honest people will never achieve anything close to their fame.
I would say, stop reporting and analyzing. That would be more effective than any other idea!
There is also a problem with schizophrenics and similar mental disorders. Keeping guns out of their hands would ho pretty far too.