The solution is to install the latest CUDA driver (which is always 100% backward compatible) but have multiple version of the libraries in /usr/local. Granted it can get messy with various package manager doing their own things.
I wish nvidia would just release a `sudo apt install cuda-all` that just keeps you updated with ALL possible cuda versions simultaneously. I know it would be 20GB but that's fine, it's a drop in the bucket compared to the datasets I play with.
What you're describing with an "all" install can somewhat be accomplished with containers right now and none of the dependency problems.
Using a runfile is ditching the package manager on a package-managed system, instead of using the package manager correctly.