Often I create parameter sets for others in a blank family and then just export the family type and attach it to a PDF of any relevant dimensions. It would be nice if there were either a central library of user created parameters we could submit to or a network based parameter library.
In order for this to work, there would most likely need to be a parameter superclass, let's call it "universal parameters". Every param would start as a universal param, and would have checkboxes to indicated whether it was designed as a global, shared, type or instance param. A universal param with none of these boxes checked would be a shareable object via the API with the ability to contain the other param types, kind of like the blank family that I use for this purpose. A user could then import the universal param, which would create in their project all of the global and shared params contained within, and imprint them as type and instance params on the families selected as indicated by that user.
I understand that this is a ground-up redesign of the way parameters are handled and how they interact with the API, but with this system in place, params could be exported as packages, stored in a central file for on a network or in the cloud, or even in an AutoDesk maintained vault to be perused by the many denizens wandering the Revit wastelands, scratching their heads over how to get a family type configured just right to be parameter driven.