At this point both are awful... If we go by past games both COD4 and BF2 were great games.
COD4 has a much better SP than most COD in recent years. COD4 MP is miles better than the garbage that is out now. Simple reasons really the game is actually balanced, and has good maps to play in. The only one I would say that comes close to COD4 is the 1st Blackops. But last years offering was dreadful. None of these new COD have done anything to move the series forward, its too much of the same, but with a lot less quality in the newer games, especially the ones made by IW. Killstreaks and the unbalanced of too many perks, and the god awful maps have removed what made COD games in the past fun to play.
BF for me, because of its focus on team play. With the right people, playing BF and helping eachother out as a team/squad is one of the most rewarding gaming experiences I've had. You do not get that feeling as much with COD, that is more for the gunplay and the "Lone-Wolf" type of attitude. I like COD too, but the last one I played was BlackOPs1, though I am planning on getting Advanced Warfare on day 1, I'm excited for it because I haven't played COD in a while, and it is the first real next gen COD......also, I won't lie, I like Kevin Spacey, so that certainly helped.