One thing you could do is create a framework or app that contains your plugin.
Store that framework or app in Shotgun as an upload and include it in your config using a Shotgun upload descriptor. Then when your config is bootstrapped/ the use picks the project in Shotgun Desktop (if you are using a distributed config like @Ricardo_Musch suggested ) then it will download your custom App/Framework containing your plugin.
Then you would need to take over the before_app_launch.py
hook and modify the environment to include your plugin that was downloaded in whatever way is correct for the software.
You would have a method in the framework or app that returned the path to the plugin payload, and you would call the method on your custom app or framework from within the hook.
For example if it was a framework it would be something like self.load_framework("my_framework").get_plugin_path()
.