I'm Canadian and so my views on firearms might be different than liberals living in the States, but here is what I think.
First of all I think that anyone who owns a gun should take a training course and have a license. This is to make sure that you know how to handle a weapon in a responsible manner, and to keep them out of dangerous hands such as the insane.
There are three main uses for a gun: hunting, home defence (against theives and such), and war.
For hunting all you would need are single shot rifles and shotguns (rifles for things like deer and shotguns for birds). I don't believe in using automatics to hunt, its un-sportsman like and is disrespectful to your quarry. Also single shot long guns are difficult to conceal and have a low rate of fire, which help prevent the crazy or the violent from going on a shooting spree.
For home defence a hand gun like a revolver or a semi-automatic rifle is sufficient protection, but it needs to stay in your house. Again this is to prevent gangsters and the insane from carrying around a concealble or high rate of fire weapon and causing a lot of deaths from a shooting spree.
You might also use a semi-automatic pistol or rifle if you were hunting something dangerous like a bear. But you should have a license to transport such a firearm to the woods and until you get there keep it in a locked case.
The only purpose of an automatic weapon (assault rifles included) is to kill a lot of people quickly and thus should not be carried by anyone unless a foreign enemy has invaded, (the exception to this being professional soldiers). In fact to this end every city in Canada has a government armoury stocked with automatic weapons and if Canada were ever invaded the government would hand out guns to everyone so we could fight a guerilla war. (At least untill you chaps arrived to save us
)
I find this American idea that one day you are going to have to fight your own government to be a very strange one indeed. The government is your representative so wouldn't you be fighting yourself? Would it not just be easier to vote them out of office? And why would you have to fight your own military? I would think that if your government ever ordered your soldiers to gun down their own countrymen the soldiers would tell them that they were insane and to **** off.