The GTX 660 ti is superior to the HD 7950 in Battlefield 3. It also has technologies such as PhysX, Adaptive V-Sync and TXAA. However, the HD 7950 is a better overclocker due to it's wider memory bus and is able to reach higher speeds. Both will effortlessly play any current game and are future proof in different ways. The GTX 660 ti with it's technologies and the HD 7950 with a higher compute power and overclocking potential.
The 660ti is future-proof in a very *special* way... it has a crippled memory bus that runs around destroying your performance when you crank AA or resolution up and almost certainly will do the same thing to a greater and greater degree as games become more demanding in the future...
The 7950 is the better card overall. I recommend the Sapphire card that is $280 after MIR on newegg right now.
The 660ti is overpriced for what it is. The 660 or 670 are much better options than the 660ti if you want to buy Nvidia. The 660ti is just too expensive compared to the 7950.