After some consulting I've learned that the Radeon r9 290 is better than the 970 in pretty much every way. I retract my 970 recommendation. Get a 290.
Again though, a top of the line card is pretty unnecessary. Unless you're going to be upgrading everything else on your computer bottlenecking is going to become a problem, as riddlez said.
It varies a huge amount between games. In some the 290 has an edge of up to 10 fps, in others the 970 has an edge of up to 20 fps, and in other games they run practically identically.
The majority of 1080p gaming benchmarks I've seen have the 970 running ~10 fps higher than the 290. That being said you can get the 290 a fair bit cheaper. Depends what your priorities are.
Personally I'd say get the 970, or wait for the next gen from AMD. Waiting for the next release is always a good idea, because it could well force prices down on existing cards (like the 900 release did) and you'll get a better deal, even if you don't get the latest card.