"AMD's drivers being crap" is a falsehood. Both companies occasionally run into driver issues but on the whole, Radeon drivers have improved significantly over the years. If you google looking for problems with a card, you will find them. I guarantee you there will be more complaints about the 970, even proportional to their market share.
Now as for best GPUs for the money:
For best single card, yes the 295x2 is the best card for the money, though it's important to note while it's a single card it's also two GPUs and relies on crossfire to get better performance than a 290x. If you DO run into a game that doesn't support multi GPU, it will have 290X performance (which is still quite good).
For best single gpu, it's a tie between the 290X and the 970. The 970 offers a bit more performance @ 1080p, but is also a bit more expensive.
If you throw price/performance out the window and just look @ performance, then the best card is the Titan X. Terrible, terrible value, but unquestionably the best single gpu. (but not best single card)
Finally, as to the to the "should I wait" question, at this point the consensus is yes. The Radeon 300 series is due out in June, and the GTX 980 Ti as Nvidia's response to it. But two months from now the graphics situation will certainly look different.