Its a little hard to answer this question. Aside from the fact that Battlefield 3 isn't out yet, IDK if you mean a better game it terms of sales as the game industry would call better or in terms of gameplay?
No one would argue that Battlefield games aren't quality multiplayer experiences. However Battlefield just doesn't pull the numbers CoD does. In terms of sales it won't beat it. CoD has the mindshare right now. Parents and Grandparents know what CoD is, thats a big deal come christmas time for both these franchises.
In terms of gameplay in all honesty CoD has it beat out two as things stand. Battlefield is a more technical game. Which means a smaller audience will play it. Being technical is by no means bad, but it will turn off the more casual FPS players. Day one it won't matter, but 1mo in you either know what your doing online or you will quit out of frustration. CoD games are made to even playing fields amongst different skill level players. Battlefield just can't do that.