If you have to buy now I'd probably go with a 980. It's not the cheapest card but it has space for some time and it's not suffering from fraud that will bite your ass sooner than later. And with a new platform on the horizon the 980 is probably getting significantly cheaper soon.
AMD is always hard to recommend because they never got and probably never will get their drivers under control. The cards are excellent. But the drivers are an abomination. NVidia has a fair share of driver issues as well. But it's nowhere near AMD.
Why a GTX 980 over a GTX 970? All major 3rd parties interchange their coolers with cards of similar tdp. The GTX 970 would be of the same quality but cost signifanctly less while providing essentially the same performance. In other words, the 980 is a waste of money.
AMD's major driver problems have been fixed for a few years now. Computer hardware moves really fast and it is very unwise to set your opinions in stone when dealing with electronics manufacturers. Every GPU generation brings tons of reasons to switch back and forth between AMD and NVIDIA and one will get burned for sticking with one for too long.
Currently, the GTX 970 and R9 390 offer the best performance while having decent longevity. For new PC gamers, the GTX 960 with its 1x6 pin requirement is very attractive for those with a pre-built PC. I will continue to always recommend to steer clear of 2 GB cards due to their poor longevity.