Having something like the XBMC's adddon system sounds like a good plan, but wouldn't a package manager be a more logical choice? A package manager would, for example, make it much easier to handle dependencies between packages. There are many package managers to choose from, but I personally think that the cross-platform, open source package manager Zero Install would be perfect for this. One of the nice things of 0install is that packages can be managed both centralized and decentralized.
Is this still the way to publish libraries in https://github.com/arduino-libraries ??