Most distributions backed by a company do let you pay for having a professionnal version, around 50 to 100 euros per year, for a workstation. That's not something that is marketed that much, because almost no one target users directly, expect hardware makers. Microsoft sells windows to OEM, Apple is selling hardware, etc.
The cost of marketing to users is the same than with a company but the deal are smaller, so that's not as interesting to do.
Now, I think there is a huge misunderstanding on why there is free software. This is in no way to serve the wish of a consumer market, this is because science is faster when we collaborate.
And so the issue is that people mostly all use the R&D version, ie distribution lke Fedora, Ubuntu, Opensuse, instead of supported and stable release like RHEL or SLES. People do this because they prefer to have real fresh software, because this is easier to manage, because this is cheaper.
So if people prefer cheaper ( ie, 0 cost ) to paying, the only way they pay others OS is because they usually have no choice. And fixing this would be against free software spirit, IMHO.
Having more software could be done, but there is always more unsupported options that supported one, cause this is easier to not support. Again, that would be difficult to fix without a tight gripe like Apple has on Iphone.
The same goes for having a ABI, this requires someone to step and say "this should be done like this". Posix tried that, and it was not really great. FHS/LSB tried that, and this was not that great. Debian common core tried that, and it didn't worked. Heck, even the BSD achieve that, and people do not use them. So maybe we should just face that it move too fast for being standarized, unless there is 1 single person in charge of that. And that whatever efforts would be done, it wil be trumped by the fast and continuous innovation that is spawned by free software.
And asking to fill bug tracker is the same than when you go at your phone provider shop, asking for some changes on your phone, and being answered "please call this support number, I cannot do anything" ( happened to me to unlock my phone ). No one would say this is detrimental to cell phone market, and yet it appear.
It is the same when you go speak with some microsoft developpers, they will likely tell "please open a support case". So why do people accept this when they pay, and not when they do not pay ?