I do enjoy small, indie games if they really are fun to play. I don't go play them and act like they're the best thing ever when they basically have nothing to offer.
BF3 is an enjoyable game, despite all it faults; of course things are annoying as fuck, you remember all the tvs we missed already because the hit detection didn't work. I believe that if the publishers for once listened to their fans and fixed the bugs, making the game nearly perfect patch wise and then continue to support it for 3 years, it would be better for everyone.
For instance if BF3 was continuiosly (is that the right spelling?) patched and tweaked, removing annoyances like the one's you have mentioned, I would not mind paying full price for the game, full price for premium to get DLCs. If they went ahead and added not DLCs but actual expansion packs, that altered the game signifcantly, with huge amounts of contents for like 25 Euros, I would also buy those. And if it was clear that the game will be supported for 3 years, and properly maintenanced, it would be a fucking legendary game that everyone would still buy, even years after release (see CSS, Diablo 2 to name a few). It's certain that they would not only get much more satisfied and more loyal customers, but also make people more willing to pay their prices and thus rake in way more money. I don't understand why the gaming industry is going downhill so rapidly, or rather, what made it do that.