I have three CMDRs; my first is a Steam CMDR, the second the free Epic CMDR, and the third is a Frontier only CMDR. I deal with the three CDMRs this way (stay with me):
I have three installations, one in the Steam Library folder, one in the Epic Library folder, and one in my general games folder for the Frontier-only one. All three installations share the same "Products" directory, i.e. the ones in the Steam and the Epic libraries are symlinks to the Frontier installation's "Products" folder. So apart from a few megabytes of Steam- and Epic-specific stuff, I only use the disk space for one installation. Works perfectly, and I usually install updates through Steam as it is the fastest. The Frontier launcher doesn't care, and Epic just goes through a verify pass after an update.
To log into my various CMDRs I made two copies of the ED Launcher executable and renamed them accordingly with the Epic and Frontier-only CMDR names I use. Each of these copies creates its own configuration file to save the login. This way I just launch the version of the launcher that starts the CMDR I want to play with. For convenience I have a folder on my Desktop where I keep shortcuts to all the tools and programs I use in conjunction with Elite (like Voice Attack and EDMC), and I put shortcuts to these three launcher copies there to launch whatever CDMR I want.
As Steam has its own login and verification process, I had to create a Desktop shortcut through Steam (Steam launches games through the steam:// url scheme) and put that in my shortcuts folder. So in my shortcuts collection I have three shortcuts that are called "Launch ED - CMDR Name - Platform", like "Launch ED - Helmut Grokenberger - Steam". Only needs to be redone if the launcher is changed through an update, which I cannot remember when was the last time.
Sounds complicated, works like a charm.