Well I'm going to offer some different perspectives for you.... if you're like my Mom, and you're going for the cheapest deal, then just wait for BF4 because you can just pick up the skills and strategies you need along the way - it's just a video game, you don't need to make a life out of practicing it with Battlefield 3.
If you got free money to spend, by all means, buy BF3 and BF4, because you will certainly enjoy BF3 in the two months before the 4th comes out, and if you play it a lot you can even get COL in that time. It's good to learn the game especially if you have some money free - I play about 2 hours a day, maybe more if I'm on a really great team. Also, if you pre-order BF4, you get a head start on your unlocks because they will transfer over (as DICE has been advertising for some time now), so that will help. But personally, I like having goals, so getting this "head start" kind of is a ":blushing:" for me because I like that I have to spend less time unlocking, but also I want to have goals because it makes the experience more fun.
I hope whatever decision you choose is the best, but I hope to see you on the battlefield! :thumbup: