Battlefield 3 has been out for close to a year now. I've put hundreds of hours into it, plus possibly thousands into its predecessors. I think that's enough experience to say the medic class in Battlefield 3 is totally overpowered.
There are three reasons for this: the M16A3, defibrillator, and squad spawning.
Probably the most infuriating is the squad spawning. Having the entire squad able to spawn on any other member of the squad makes it really difficult to stop a squad's advance. You have to kill them all, or your work is pretty much in vein. Combine that with the fact that you can change squads while dead, and a communicating team can spawn anywhere there is a single person.
In very close second is the defibrillator. A useful play mechanic that is a hallmark of the Battlefield franchise, it has been overpowered in Battlefield Bad Company 2 and Battlefield 3. In these games, the defibrillator can be used about as fast as you can pull the trigger. In previous games, the defibrillator would fire only two or three times before needing a lengthy recharge. Rather than going back to that style, I would rather Battlefield 3 introduce a revive time, similar to Left 4 Dead, but much shorter. It should require a medic standing over the body for 1 or 2 seconds with the paddles out to complete a revive. This would seriously slow down the advance of a medic squad. It incentivizes clearing an area before going for a revive, rather than the current style that incentivizes "rambo revives."
Lastly is the M16A3, the default assault rifle for the U.S. team which has become the latest noob cannon. With high damage, high fire rate, and low recoil if there is a player controlling the game, it's a safe bet he's carrying this weapon. When you have a whole squad of these guys, they will own the game. There is nearly no way to stop them, since they can revive fast, respawn on any of their squad, and their weapon is overpowered. About the only thing that slows them down is the need for ammo.
Battlefield 2142, if you hit a player with an engineer weapon, they stayed dead. At the very least, there should be some way to stop the revive in Battlefield 3, such as hitting somebody in the chest with the M320. Splash damage wouldn't count. Just a suggestion, probably not the right choice. I'm not certain which weapon should do the job, but we should have some option.
Unfortunately, after talking with Daniel Matros (@zh1nt0) on Twitter it appears DICE has no interest in solving any of these problems. I can only hope Battlefield 4 does.