How about just removing the whole idea of giving points for kills, heals, repairs, etc, and only give team-wide bonuses for the objectives & Fragos?
No use trying to kill for points, or heals, or any of that stuff. Whatever you do, whatever role you take, its all about whether you take the objective, or defend against it. Putting XP directly on the objectives and not on the actions doesn't do enough to reward heros over the mundanes, but it does put the focus on team objectives where it belongs.
I know this isn't ever happening. Its just a thought experiment.
Oh and J-Rzez, I'm not a run and gunner, and I do appreciate a good sniper, but those are rarer than fucking unicorns. Maybe one sniper out of twenty is worth more than a grunt imho.