Everyone carrying guns is not a practical solution. It actually just makes things harder for the police, imagine going into a place looking for a gunman, and someone around every corner is bunkered down watching the door, gun drawn. That's incredibly dangerous, and what if a large majority did carry handguns, and he just happened on a room without a handgun owner? What you're really proposing is an armed vigilante brigade that just isn't reasonable.
The practical solution is to figure out what sort of mental disorder or temperament leads to this kind of stuff. Rational people don't go shooting 32 innocent people because your g/f is a bitch. It's a societal thing, either the parents were incompetent and really just screwed this kids head up, or the guy was insane.
You can't really claim insanity with someone who kills so systematically either. Like the columbine kids, entering rooms and with enough ammo to go on a rampage. It's just a freak individual with an anger issue. One where he got so mad he lost control (at least that's what it sounds like).