Also, in response to Jeff, I don't know what Gunfighter would say, but I would suggest that a reasonable approach would be to treat guns like cars: if you want to use one, you have to be trained beforehand and you have to be licensed by the state. Exact details about licensing (minimum age, length of time between renewals, circumstances under which licenses can be revoked) and would vary from state to state. Excessively onerous licensing requirements would be subject to challenge under the 2nd Amendment. Under full faith and credit, your license would be transferable from one state to the next if you move. More "advanced" weapons could require a more "advanced" class of license, much as commercial drivers require a separate class of license. Once you're licensed, you retain the full and complete right to use, purchase, and otherwise enjoy (in the legal sense of the term) firearms of whatever make and model you choose and are licensed for unless and until your actions cause you to lose your license (committing a crime, for example, or leaving your gun loaded in a room with small children). Requiring gun insurance would probably be a logical follow-up as well (with excessive insurance requirements, like onerous licensing requirements, being subject to challenge under the 2nd Amendment).
I don't know if this is workable, but it appeals to me in that it recognizes that guns do not belong in the hands of the uninitiated and puts limits on the users of the guns rather than the machines themselves. It also has stuff that both pro-gun and pro-gun control types will love and hate, which is the type of approach that tends to work best in terms of actually becoming law, at least in normal times.