I’m sorry, but that is a false premise. It is very easy to write software that
can run on the Linux kernel. We’ve been doing that since the mid 90s as well.
While you can’t guarantee an application compiled a year ago will run on a
distro version released today, that’s fine. It shouldn’t. Recompile it against
the updated libraries.
I have no idea what ElementaryOS Loki and Juno are.
Yeah, it’s called breaking ABI, and it’s fine. Unless it’s proprietary, you
can just recompile it against modern libraries. At worst, you have to either
wait for it to be patched against the new APIs, or just do so yourself. If
it’s in Fedora, you can just wait for the package to be updated.
There’s no reason to avoid breaking backwards compatibility. Keep your
software up to date, and you won’t have that problem to begin with. Keeping
the old versions of everything and bundling it will only lead you to a mess
from a security and stability standpoint.