Hi Rick,
A bit old discussion, but here are my 5 cents.
First of all I greatly appreciate all the efforts you do to develop and improve Paint.net! Good job an well done! Keep the good work!
Here is my case. I have been trying different plug-ins looking for useful ones. I have installed different packages (bunches). I liked some tools from some packages, but ended up with around 900 dlls (I know, I know) in the Effects folder. I have a SSD but still the startup time is couple of minutes (!). It is difficult to delete the right 800 redundant dlls. The question here is which one to delete. Which may be a common paradigm with installing a plug-in package. Therefore a plug in manager is a good idea in general.
As a long time c++/.net developer I would dare to propose having a dedicated app for plug-in management, possibly with the UI similar to what other people suggested or to what is commonly recognizable. I imagine this app will not start if Paint.net is running.
The idea of plug-in representation cache is not bad IMHO. The cache can be easily checked and synchronized on startup against dll's in Effects (and other trusted) folder using CRC, hash, file write time+size or whatever "match" criteria is best. There is no problem for the cache file(s) to be in user's data folder as it will not refer to absolute paths (which can be checked).
If anyone has an idea how to leave only the right dlls among all without losing a day - please do not hesitate to share it.
Regards