The proprietary solution to that instability is to appoint people who ensure ABIs don't change. Microsoft is a great example of that strategy. Many apps made for Windows 3.1 still run today on Windows 10, almost 30 years later.
The typical open source solution to ABI instability is to freeze library ABIs and build all the applications on those temporarily frozen libraries. Applications are built for a particular release. While it would be possible to keep updating the applications during the release cycle, it appears no one has yet figured out how to do that economically.
An interesting exception to the rule is web browsers. Firefox and Chromium get regular feature updates in major Linux distributions. That's probably because browsers have a very large attack surface, yet people use them all day long, so they deserve extra attention from software distributors.
I'm only an occasional linux user as a developer, I never dove into the history or the design. Is there a particular reason why linux distributions couple the system so heavily with the application layer?