The way I see it, MW3 will probably sell better because the average consumer will see the new trailer, directed by Michael Bay, featuring a new Eminem song, and go bananas for that shit. From a PC Gaming perspective, BF3 will be the infinitely better game, and should at least gain some ground. I think the most important thing to realize, is that EA\DICE finally figured out how to beat Activision's CoD series; make a superior product.
If they actually listen, and don't just copy, they will start making infinitely better products, that fans actually want to buy. I have no regrets in buying BFBC2, I technically bought it twice (rebought it with Vietnam DLC through Steam sale for like 66% off) even. I see it as a much better product than both MW2 and Black Ops were. It is quite apparent that Activision has focused on Console Gaming, which makes sense considering they are a business. They are expected to go where the money is, and with their unwillingness to put resources into PC Gaming, that money just isn't there.
From my perspective, the reason so many people bash CoD games, is a combination of many unfavorable aspects. For starters, they are basically taking the same game, and repackaging it each year. It's like the Madden of the FPS genre, and people don't like that, especially PC Gamers. It tells the community, that the game will get a bit of support in the beginning just so people buy it, and then they will largely ignore it after a couple months so they can start pumping out the next game, and expect everyone to just keep buying the new iterations.
Releasing a game each year leads quickly to market saturation. It happened most obviously with Guitar Hero. Sure, there were a lot of different elements, but there was a time when everyone had to have Guitar Hero, then Activision pumped like 6 GH-related games out in one year, and people saw no reason to keep buying them. Once people stopped buying them, Activision tossed out the studio working on the next games. There is a very really possibility a similar situation will happen with CoD games. It probably won't be as extreme or as fast, but with 4 separate studios (Sledgehammer, IW, Raven Games, Treyarch) working on CoD games, you have to imagine that they are trying to trim down on the time in between games.
The other major reason people tend to hate CoD (from the PC perspective) is that they pretty much ignore the community. Activision handles CoD like Apple. You are playing their game, the way they made it, and fuck you if you want to change it. This was most obviously seen with MW2, where they removed lean, dedicated servers, and mod tools. They claim all of this was due to balance (in the case of lean) and improving the accessibility of the game. This of course, was met with massive backlash.
There are certain things that games these days are expected to have, mostly because it's assumed these features are standard. Imagine going to buy a brand new 2012 car, and having them tell you that they removed the AC and Radio because it was making the vehicle too complicated. Wouldn't you feel like they are insulting your intelligence and expecting you to buy and inferior product? I sure would. You know what in an interview Robert Bowling said was unique about the PC Version? Mouse Controls, Text Chat, and Extra Graphics settings.
On the other hand we have DICE, who have continued to improve on their products, and understand that the community is one with the consumer. That by listening to their demands, and making a superior product, the competitors don't stand a chance. Gamers don't want to be treated like soccer mom's, with a bunch of paid "social features". They just want good quality games that are supported by their creators. You think Blizzard is so loved by chance? Or because they secretly have a hypno-toad (they do)? It's because they have held onto this design philosophy for decades. And it works.