Another idea would be to add the possibility to make one plugin depend on another to be loaded.
So what would be the base for the comparison then? The plugin's name, a GUID?
Would using the plugin's name for this be a bad idea?
One could allow a vector of strings of "dependencies" to be passed to a plugin, and plugin manager would make a check for each plugin being loaded, if all of its dependencies have already been loaded (by finding by name).
EDIT: Actually, scratch that. It's probably better to just list dependencies in the plugin manifest file.
Since most plugins do not need this, the required overhead at startup would actually still be acceptable.