There is a simple thing they do that we could mimick (and some have started). macOS and Windows ditched (or never used) the concept of widely using dynamic libraries and dependencies.
Apple and Microsoft build SDKs that you compile against, and for the most part those are the only dynamic libraries that you use. Between point releases the ABI is compatible so you can do thing like security updates without recompiling applications. Everything else is bundled inside or distributed along side the application and is the responsibility of the app developer.
There are a few attempts at doing this on Linux - Flatpack, Snap, and AppImage.
I would argue dynamic linking in itself is still very important, in the sense that if some nasty security vulnerability is discovered in an important core package (OpenSSL or glibc or something), a patch can be pushed out without requiring downstream applications to be recompiled.
To be honest, I don't think most developers have a robust mechanism of tracking vulnerabilities in the projects they directly depend on, let alone the dependencies of dependencies.
Apple and Microsoft build SDKs that you compile against, and for the most part those are the only dynamic libraries that you use. Between point releases the ABI is compatible so you can do thing like security updates without recompiling applications. Everything else is bundled inside or distributed along side the application and is the responsibility of the app developer.
There are a few attempts at doing this on Linux - Flatpack, Snap, and AppImage.