Are there any other games you are interested in? If there are, look at different review sites and check the benchmarks for the 660 Ti and 7950. That could help with your decision. If BF3 is the only game you are going to play, go with 660 Ti.
this will answer your question. overall I'd say the 7950 is superior HOWEVER, If battlefield 3 is your main concern the 660ti wins hands down. just look at these benchmarks for several games. It all comes down to the pricing
Doesn't account for overclocking, which the 7950 is undeniably better at. Also 7950 has far superior OpenCL/Direct Compute which the entire industry is moving towards(not just games, things like Photoshop, etc. also), Nvidia's OpenCL sucks. Plus the 384-bit bandwidth and 3GB memory help for AA/AF, Multi monitors, high resolutions, and heavily moddable games such as Skyrim. AMD Scales better with CF also.
Plus the 7950 currently comes with 3 free games, compared to the 660Ti's 1.
Thing bout this is anytime someone says amd or nvidia sucks they get called a fanboy..Sad part is the person saying they are fanboys prob 1 them selfs..Nothing wrong with liking amd or nv or both. Some people just like 1 or the other. Hell personally i like nvidia i guess that makes me a fayboy to