It’s also difficult for developers to publish to Linux because of the wide variety of different Linux systems.
I disagree there. The issue is that in Windows people bring over their own version of libraries they compiled on (the millions of .dll files) and you can even look in your Uninstall Apps settings where there's a bunch of MS specific runtime bundles to see that's even an issue in the MS ecosystem.
In Linux, developers have relied on the library versions just being there. It is, I'd argue, the most compelling reason package managers basically had to come into existence. On the flip-side this can cause issues where there is some version on the system by the package manager that replaces another version. And something not a part of that package management system isn't a part of those dependency checks and if they don't put the libraries with the binaries...well it is just luck if you have them all or if other versions can support those library calls in the same way still.
In Linux that is all those .so's in /var/lib and stuff.
You don't really see many proprietary things using package managers and those that do are packaged by someone else and are in some sort of repo that isn't part of the vanilla install because of legal caution.
Companies that made their money on porting games to Linux prior to Proton basically causing them to shutter Linux porting would put their .so's in with the game bundle themselves, just like you see happening in Windows when .dll's are inside the actual program's folders.
However, the more that this sort of dependency management has become abstracted by development suites that take care of this for the developers, the less they understand about it.
Flatpaks actually take care of this and it is one reason they are so popular. They figure out (well that's a simplification) those library dependencies, sandbox the apps with those dependencies so the library paths don't interfere with other flatpaks or the base system itself. People complain about this as a con because "the download is BIGGER" even though flatpak doesn't install the same runtimes over and over again, so once they are there, the download may still be bigger but the installed storage isn't.
Anyway, yes Linus Torvalds complained about the "Linux fragmentation" issue but it was about DE's not the state of the development ecosystem itself as I recall, though the rant is very old, so maybe I don't remember all of it.
Wider application support would be a start.
Sure, but that's not a Linux problem, that's a developer problem. Linux supports application development just fine. It is a kernel and the surrounding ecosystem is the operating system after all. It is developers that don't support it. That isn't really something Linux in and of itself can effectively solve. Users have to increase and developers supporting applications for Linux will also increase. The classic Linux Chicken and the Egg problem but it is capitalism and that's just going to be how it has to work.