Honestly, just pick the one that sucks up less power. Even a GTX 650ti can run Battlefield 3 on ultra at 35 fps. Both those cards are going to get your a good 45-60 fps (45 minimum probably in explosions). The other games you listed can be run on a laptop for $300 on low-medium settings on a 15" screen.
I recommend buying the 7950, better performance and overclocks well.
The power edition issues have been long time fixed
I personally would go for the 7950, no memory bandwidth constraints, and more memory to work with, especially when you play modded games. It also has a ton of overclocking headroom. +1 on the Sapphire one, probably the most trustworthy Radeon makers.