Yeah, you do raise a valid point. I was thinking (I believe it was mentioned earlier) that things like medics should be squad-extended classes. So essentially, a player can only see and play as a medic IF in a squad. If the player is not in a squad they will not have the chance to play as a medic. I honestly am very in favor of this or something similar - if we put all the work into a medic class it would be silly to only have it some random-ass pickup kit.
Snipers would be handled different (most likely), if they aren't strictly limited to pickup kits they would still be, as you said, limited to 1-2 per team on a ratio of the players in game. So if the server is not full, and maybe 11 people per side, only 1 person can play as a sniper. If there are 0-10 players on a team, the sniper class is not available. This way it also keeps everyone active and moving until servers really fill up.
I agree, I think making only riflemen available for Non-Squaded up players would help a lot. It would let someone kinda float around some, learn the flow of the game, and could be justified in that, squads would occasionally pick up people along the way, someone who got lost, or wounded, etc.
I also think that squads should have certain layouts (let's go with 16 man squads for ease of discussion). The Commander could, at the beginning of the match, select what layout the squad will have (and it's set for the round). So My team has two squads, any number squads per side + a support detachment + Commander
Each Squad is built around 3 fire-teams (12 Players + 3 Special Classes + a Squad Leader)
A fire-team can be made of of 4 people (3 Pvts. and a Corporal)
"Rifle Teams" (Rifles, one grenade, etc.)
"Assault Teams" (SMGs, 3 Grenades, etc.)
"Light Machine Gun Teams" (One LMG, and some Riflemen with ammo, etc.)
"Anti-Tank Teams" (Recoiless Rifles, Anti-Tank Grenades, Rifles, etc.)
"Pioneer/Sapper Teams" (One Flamethrower, Rifles, Satchel Charges, 2 grenades)
"Mortar Teams" (One Mortar, and some riflemen with extra shells, etc.)
Special Classes Would Include
1 Medic (Medical Equipment, Rifle [handgun?], etc.)
1 Marksman (Scoped Rifle, Handgun, etc.)
1 Radioman (Has a map, binoculars with which he can mark coordinates for artillery, commander can choose which "mark" to drop arty on)
And then the Squad leader (SMG or Semi-Auto Rifle, Grenade, Smoke Grenade, Binoculars, Map)
The Platoon Lieutenant would have an SMG, Grenade, Smoke Grenade, Map, Binoculars, and the ability to call in artillery on his radio (only where a Radioman had already marked for artillery)
The support detachment would be picked at the beginning of the match, and could be something like...
"Heavy Machine Gun Team" (One HMG, One Person Carrying a tripod, rifles, and everyone with some ammo for it)
"Anti-Tank Gun Team" (An anti-tank gun like a Pak38, rifles, everyone has shells, takes two people to move it, etc.)
"Tank" (Use your imagination xD )
At the beginning of each round you could have everyone vote on a commander, the commander than has 60 seconds to select what he wants for his force, and then everyone selects their class (this also helps prevent the 'I have a slightly slower computer so I load last and get stuck as a rifleman every-time' syndrome). This would also mean that players are more likely to vote for people with microphones to be the commander.
You could integrate it so that beyond local VOIP, there could be a separate button for Radio VOIP (for people with radios), so that I don't have to hear another squad shouting orders from halfway across the map, when people speak it is only broadcast locally, or they can use a radio to broadcast it to anyone else who has a radio.
The other really cool thing with using modular squad choices, is that if a server chose to be "64 players, 32 players, of 256 players" you can just add or remove the "squad numbers" and still have balance.
You could even go as far as to have 2 platoons with 2 squads each and a detachment per platoon, and a company command team (for a total of 80 players per side).
Overall though, making the radio use important encourages those who have mics to migrate to those roles, and be able to disseminate information to the rest of the team (for those without mics), it also makes people reliant on each other for information (such as only the radioman and sergeant having a map), and the commander can't magicly shout over VOIP to the entire team 'ARTILLERY INCOMING' he has to rely on his junior officers to relay information back to him about "hey yeah, so we're all right under that arty strike, call it off fast!"
My 32 cents.