I agree with everything else mentioned here. And i definitely think that something should be done about the whole, "no child left behind" policy - i think instead of encouraging teachers to pass all their children, they should be tougher and fail more students. Instead of teaching to the lowest common denominator, they should teach to the smartest. If everyone in the class isnt up to snuff, thats alright - most of them will still pass with a mediocre grade, and the ones that had no clue will fail and sit through it for another year, and hopefully lern something then.
I also firmly believe "Gun Safety" should be taught late in elementary school. It wouldn't need to be something they did regularly, but maybe one week they would drop another class period to do it. We're not talking loaded weapons or firing at targets, either - just showing the basics of how to tell if a firearm is loaded or not. (They can use snap caps, specially designed gizmos shaped like a bullet designed to absorb the impact of a firing pin, but not actually fire.) They could spend about an hour a day alternating through types of firearms, a day on revolvers, a day on semi automatic pistols, a day with rifles, and a day with shotguns. The whole class would pretty much just be learning how to check to see if the weapon is loaded, and then the process of safely unloading it without firing it, and then take time to break them down and explain the basics of how they funcion.
I also think all public high schools should offer a continuation of the "Gun Safety" course as "Gun Control", that would be a semester long course that would actually culminate with hands on time at a range. Start out with a history of weapons, detail how various kinds work, and then start some basic target practice. I know a lot of people are anti-gun, but i think a key to making them safer is by teaching people more about them, including how to use them properly. (You know, kind of like how you get drivers ed for a semester.)