I don't hate "mainstream" per se. I dislike crap. I *HATE* "new and improved" crap that becomes "mainstream" enough to force its way onto my machine.
1) I started using ICEWM on my home machine in January or February 2010. Since then my "desktop" has remained basically unchanged. System configuration on my machine has remained basically similar, with text files in /etc.
At work, before I retired, I went through Windows 95, Windows 98, Windows 2000, and Windows XP. Every few years, even power users were reduced to noobs who had to go through basic training on the "new and improved" UI. System settings were even worse. It was basically "everything you know is wrong" after each "new and improved" system. Apparently, GNOME and KDE users go through a similar nightmare every year or two. I use my computer to do stuff, not to be constantly learning new interfaces.
2) Firefox *USED TO BE* a great little browser. I used it from day 1, back when I had to build "Phoenix" as a subset of "Mozilla", back around the time of "Mozilla 1.0". Remember how AOL destroyed Netscape by trying to turn it into an abstraction-layer/pseudo-OS that would run on top of Windows or linux? Mozilla foundation similarly destroyed Firefox by turning it into a an emacs-like pseudo-OS... that lacked a lightweight web-browser. WebRTC, Hello, Pocket, etc, etc, were piled on.
The last straw for me was the Atrocious^H^H^H^H^H^H Austraulis interface. I heard rumblings that there was a new interface that many people didn't like. I wasn't concerned, because I always set up a customized version to my liking anyways. I was shocked when it it hit the release version, and I found I could not customize it away. The UI-hipsters knew that people would hate it, so they went out of their way to remove the ability for a regular user to customize it away. For several months, the most popular Firefox extension was a "classic-UI restorer". It accessed stuff deeper down "under the hood" and restored the classic interface. But that was too late. I had left for SeaMonkey, and then eventually Pale Moon when it got a linux version.
3) PulseAudio and systemd may work OK *TODAY*. But they were beta-quality when they were first released. I avoided them, and the pain of being the linux equivalant of a Windows user, acting as a guinea-pig for beta quality software.