This sounds like ten years ago, in my experience — one still had to be a bit of a geek to get all the hardware working. I’ve not had any such issues for quite a few years — with Ubuntu (Debian based distros in general), not since about 12.x, or for sure 14.x.
And, if you use brand new cutting edge hardware, especially if it has oddball chipsets in some parts, you could get the kind of issues you describe, as bleeding edge hardware won’t be fully supported right away.
I use well amortized well supported hardware a few or (usually) more years old, bought at 1/3 or less original price, usually from eBay. Since about Ubuntu 14.x everything just works (and I’m all laptops, historically more quirky than desktops hardware-wise). YMMV of course but that’s my guess if you’re using bleeding edge hardware.
Also I don’t use the most popular or distro default (and most bloated and/or poorly designed) linux desktops, namely Unity or GNOME or KDE. You have a lot of options in linux-land for your desktop environment and window manager. In recent years I use either XUbuntu (XFCE desktop) or Lubuntu (LXDE desktop), the former clean and lightweight and the latter even more so. That may or may not matter in the case of bleeding edge hardware issues, depending on what layer of the OS the issues are in. But you might want to try XFCE or LXDE, just to see what happens. GNOME is a bloated beast, more places for bugs to hide.