Your average 970 is going to outperform your average 290x at 1080p and 1440p, 4K gets dicey, at that point it's kinda 50/50, just depending on the game and how well it's optimized for one chipset or the other.. But then again, a single card of either isn't going to be great at 4K.
I debated both about a year ago and decided to go 970 (I game at 1440p, went with the EVGA) and couldn't be happier with it.
And honestly, nobody knows anything about DiretX12 performance at this point. Anything you'll read or be told is mostly random speculation. There's exactly 1 piece of software that uses DX12, and it's not even a full game, it's a tech demo of an alpha version of a game. So who knows on DX12...it's all up in the air at this point.
I'd definitely go 970 if you're gaming at 1440p or 1080p, and I'd actually consider a 8GB 390 if I were doing 4k gaming. The 390 pulls ahead of the 970 pretty regularly at 4k, but is decidedly behind the 970 at lower resolutions.
So its a bit of a hodgepodge, ranked from best to worst at various resolutions:
1080p
1) 970
2) 290x
3) 390
1440p
1) 970
2) 290x
3) 390
4k
1) 390
2) 970/290x tie
And you can even find specific game benchmarks that defy every single one of the things I just wrote. Sometimes despite all logic, a certain game just performs better on one card vs another.