Balance all the way
I dont care if the Spas 12 does have a kill range of 25 yards (it doesnt) it shouldnt have it in the game. All weapons should have advantages and disadvantages.
Low range, high damage = shot guns! This is balanced.
Pistols should be short range and mid power but very accurate. This is balanced.
SMGs should be short range, low damage but have a high ammo size and good fire rate. This is sometimes balanced in some games.
Assault rifles should be mid range, mid power, low accuracy but a decent fire rate.
Sniper rifles should be LONG range, high damage, but should NOT ever be useful in short ranges. This is why quick scoping should be eliminated it destroys the checks and balances of the weapon hierarchy
I dont care if their are super weapons in real life, no one should dominate because they managed to get the best weapon or learn the cheapest kill methods
Gun stats shouldn't be that hard to produce.
Damage is load at speed over range.
Magazine size is given.
Fire rate can be measured. Selectable fire rates (when applicable) should be available.
Accuracy can be measured at every range.
Penetration can be measured (through different materials) at every range.
Reload can be timed.
Weight can be measured.
Aim down sights time can be measured (which is also affected by mobility).
Personally, instead of the Primary/Secondary/Equipment selection. I think that the player should have an inventory grid. Whatever you fit into it, you can have, this includes guns, attachments, extra ammo, and equipment. Players can equip attire such as vests/helmets/belts to increase armor/storage/camouflage. Total weight affects mobility.
I also think that as you gain experience as a player, you also gain experience with the equipment that you are using. You will be able to reduce recoil, reload faster, ADS faster, and throw explosives further.
A few more thoughts:
Getting shot slows you down (on foot, reloading, ADS) and increases recoil.
Getting shot in the arm removes you from ADS.
LMGs cannot be ADS unless when prone or bipod mounted.
Alternative ammo types available for applicable guns.
No akimbo shotguns.
Now on to realism. The M1 Garand looked great, sounded great, but the reload animation/function was not realistic. It's en bloc clip that holds 8 rounds, was designed to eject once all bullets had been fired and the user should not be able to remove the clip while there were still bullets in it. This is not a huge issue, but it would have been a nice addition that would have helped to add more distinction to the gun.