Every time one of the big boys screws up, we all hope for this. Then the relevant players in the Linux community fail to get their shit together and the cycle repeats itself.
In your view, what would it take for the big players to "get their [act] together"? I'd like to hear a bit more of how you see it. What players would need to work together or coordinate? What are some more-or-less realistic paths forward?
First, they'd need to have a willingness to license "encumbered" codecs, drivers, etc, even if it meant charging for a version of their product.
Second, it would involve a ton of product testing, and tedious ironing out of rough edges. Every single time an installation or upgrade fails, or runs into a strange error needing obscure forum searches to fix it, that's a problem.
Third, they'd have to seriously cozy up to proprietary software vendors for application support. This one is unfortunately an endless time and money sink, and can't pay off until they have enough users that they don't need to do it anymore. Thankfully F/OSS options provide some limits on this, but not entirely. Many times there are F/OSS options that are usable, but the proprietary ones are better (and worth paying for).
This is just a few thoughts off the top of my head. Its not well researched or thought out, but a starting point for a conversation.
I think you are spot on. These are such a huge issues that keep most people away from Linux. The perpetual denial of these issues is a ridiculously huge blind spot in the Linux comunity.
First, someone (RedHat?) needs to establish a partnership with an OEM so they can deliver an end product. "Some assembly required" in the software environment is, almost by definition, a hobbyist project. End users shouldn't need to spend hours researching what hardware is compatible and hunting down drivers. And yes, that means that proprietary codecs and other essential packages will need to be included.
Second, Linux systems have a bit of a jerry-rigged feel to them that needs to be addressed. Things like fd.o and the FHS are intended to help this, but don't go far enough. Compare this to FreeBSD, where every decision about which packages are used in the base install, what the filesystem hierarchy is, etc. is well documented and cohesive. Linux can't go mainstream until, say, a runit-based distro has no references to systemd in its documentation.