I used to create something similar. I didn't think getting revit version from process info is reliable so I handled it myself.
First thing to make sure is that your add-in is well installed on every version of revit.
Then you'll need to implement an executable to act as a central service(http, namedpipe, grpc, WCF, whatever). You also need to make sure the service can only have one running instance(use Mutex to achieve this). Or you can simply use a file instead.
Whenever a revit instance starts up, your add-in should try to start the central service and register the current running revit info into that service. And you should unregister it while revit shuts down.
When a new revit instance starts up. You can get a list of running revit info from the central service.
I used this feature to send an .rfa file from a standalone application to the revit instance that user selected.