Honestly, wait a couple weeks until the new series gets released. Prices will probably go down and btw, battlefield 4 recommended is at least a 660. So I'm not sure how BF4 would run on a 7970. Probably not ultra settings.
Shows the two cards compared, maybe that will help your decision. The 7950 is a great card, but the 7970ghz will probably last a bit longer and handle newer games a bit better.
FYI, AMD is releasing their new line of cards next month, so if you can wait, wait a bit and see what they come out with. For the most part, I think, they are going to be just a refresh of the current line, but refreshes aren't all bad as they can mean thinner die sizes, which means less heat, better yield production after a year of making the chips, means better overclocking, they may throw some more VRAM on there, etc.
It also means that the 7xxx series will come down in price as they will be at the end of their lifespan.