I agree. That should be step 1. I took a few more steps forward, last March and defined some requirements about an implementation of a pugin manger that would be efficient and easy to use. Here is the post https://github.com/q2a/question2answer/pull/36#issuecomment-37145475
In there I thought about some features and mentioned the advantages and disadvantages of the solution.
That is the simplest plugin manager (that I think would deserve to be called that way) I can think of. Then it would be possible to improve implementing plugin dependencies that should be taken into account when installing new plugins. And why not... an official plugin repository... anyway, I guess I'm thinking 10 years from now :D
I also wanted to make a comment about Kai's comment: I have implemented such a switch for all my new premium plugins
Well, exactly that is the issue. Currently, plugins disable themselves. This means that the plugin has to be loaded, executed and then, it disables itself. So if the plugin has a bug or is icompatible with a given Q2A version, the plugin might generate errors. So the plugin should not even be loaded. This also includes not even displaying there plugin options as that is part of the plugin itself :) So the plugin management has to happen from outside the plugin, i.e., from the core. Hope this is clearer.