Maybe old browser versions should be archived as container images with all the necessary shared libraries. Then the only interface that might break them is the kernel interface, and we know Linus' stance on breaking userspace.
I could definitely see someone doing that with Firefox. They may already exist. I've just, from experience, had so much trouble with compiling large codebases.
On the bright side, the larger a codebase, often, the more popular. And the more popular, the more likely people will have EXACT dependencies listed.