If you intend to run Linux on the thing, buy things that Linux supports out of the box. That probably means sticking to the working Intel stuff for now. You'll thank me later (or not, because you won't miss the problems you don't have).
The binary blob provided by Nvidia have been quite reliable across the years (and I think they've been available for more than 10 years) while the open source ATI/AMD drivers have frequently failed to deliver.
In my experience, the open-source radeon drivers are significantly more stable. Fglrx was a stinking pile of crap that has officially been abandoned - the whole driver team has switched to the open-source drivers, now.
Linking to Theano-CUDA is always a nightmare.
Forget about optimus. That has never worked correctly on Linux.
The only reason I can see someone wanting nvidia on linux is for CUDA. And in that case, you can't just use the ubuntu pre-built version of the drivers.
If you are not doing neural nets locally on Linux, you shouldn't get a discrete graphics card. And if you do get a discrete one, make sure it's not Nvidia since their open source drivers are much inferior to AMD's.
This is an honest question, and I appreciate your answer in advance.
I have a desktop with an HD 6850 and the radeon driver has always worked well, I used to play DOTA2 on it.
But this is a very old GPU now, and all newer models (HD7xxx and up) were having performance issues with the radeon driver last time I was reading the forums.