I think every reasonable precaution that is possible has already been taken. We experimented an assault weapons ban and found it lacking but we have a good regulatory system. A background check is fast and easy and I don't mind keeping guns out of the hands of criminals.
The problem behind these outbursts of mass violence, however, is a social one. These are people who have been alienated and isolated one way or another from society. Many of these people CHOSE to alienate themselves from society on purpose. If someone hates society and wants to do random people harm there is really no way to prevent it other than catching the guy on the way there.
These people are the losers of the consumerist rat race, from the the unpopular nerd at school who doesn't wear the "right" brand of clothing and gets bullied as a result to the guy who is just sick of getting abused at work. There are reasons why these things happen. If you put any individual in the right set of circumstances a violent outburst will be the result. It is simply how the organism reacts to it's environment.
The only way to stop them is really to not create them in the first place. I don't know if the American public is ready for the kind of social changes that would entail, though. A complete systemic overhaul of our culture, our society, and our economic system is in order. Our systems are failing left and right. This can only mean they are based on incorrect information. We should take a hard look at changing a lot about how we do things as a society.