I need an opinion

I don't know whether I should buy an i5-3570K Ivy Bridge with an MSI GTX 650 (Non Ti) or an AMD FX-6300 with a Radeon 7850 2GB because later in the year when BF4 comes out I will be buying a very powerful graphics card to play it on ultra 

If you are goung to buy a better GPU either way, you might as well buy the better CPU, or better yet, get a great mobo and CPU cooler so you can get a great OC.

if you just going to upgrade the GFX card in the Future just get a 3570K or maybe even a 3770K and then just get a GFX card later.

Or, whabam! You could just get the 8350 if you're going to upgrade the GPU soon...

I would just wait to upgrade until you have a suitable budget to allow you to buy both the graphics card and CPU that you actually want. If you go buying in-between build, you will not wind up very happy with the final result. If I had to do anythign though, I would probably get the Nvidia GTX 650 just to use it later as a dedicated PhysX card for a Radeon HD 7970. Because AMD cards don't support CUDA programming, you would need an Nvidia card to run PhysX, and the GTX 650 isn't a terrible choice for that, since it won't be doing a huge amount of work.