Tradeoffs understood (..so long as that ap isn't running with another ap which wants a different version.) {sob}
So then (were Doze smarter designed) one might envision:
every executable having a descriptive filename plus its version-determined [unique subname] by which it is IDed in memory. You'd have to get around dupe filenames in directories (or as in the olden days - keep those Only in the ap's launch directory?) but there would be no name confusion, on launch. Ah But - then there's keeping the PATH up-to-date and never Too-long :-/
Jeez Billy, you narcissistic amateur. Not 'The Smartest Guys in the Room', though new hires are told that, I've oft heard. (I realize that *nix can load whatever new/old versions of libs - available simultaneously, as needed. Smart college guys.)
One can only wonder how the moz folk (have, apparently and gradually) solved this particular version roulette which I've watched for some years..
Dear esteemed Mozilla programmer, YPB: HTF did you Do this?