Even with 500MB less VRAM, the GTX 970 is still a beast of a card for the price. However, if you don't mind higher power consumption and greater heat output, the R9 290X is the way to go. However, AMD is going to be releasing their new GPU architecture sometime within the next few months, so the 290X will soon be a last generation card. And the next gen equivalent to the 290X will almost certainly competing with the GTX 980, and will be priced accordingly. So don't expect to be buying an R9 390X or whatever it is they decide to call their flagship card for the same price as the 290X is sitting at right now.
If you're a 1080p gamer and want a current gen product that can max out any game and have power to spare, then the GTX 970 is still the best card out there, hands down. But if you don't mind having an older card as long as it gets the job done, the R9 290X is probably the what you should be looking at.