As for using real weapons... If you have a better solution, we're certainly willing to hear it.
Well, if you're interested, I've put up a
Rapidshare of a descriptive catalog of slightly less common firearms. It's not copyrighted - it's a GURPS resource some guy put together. It only allows 10 downloads, so nobody spam it.
As useful as it is for ideas, it also demonstrates two fundamental problems with using "realistic" weapons.
One, with the guns as is, unless you're running everything through a program or a spreadsheet, you're going to get bogged down with detail in a big hurry. Take it from me, keep it simple. Unless those weapon description are just for flavor.
Two, there's thousands of guns in the world, and they all work quite differently even within the same "class". There are "pistols" better used as small rifles. There are "machine guns" you can fire one handed.
My suggestion is, dump any suggestion of modeling real guns, and come up with a bunch of generic, plausible weapons within each classification. Let them do different things, make up names for them, etc.
Screw balance. As pointed out, anything you get hold of, you can keep.
Keep, but not use. You could just sell the weapons, you know? Or give them to new recruits.
"Use" is exactly what I'm talking about. If I manage to steal a loaded SCUD launcher, I'm going to demand being able to fire it.