As a matter of fact, I've been thinking about something like that for quite some time now (ever since I've started working on USB gadgets I think). I also have some ideas regarding such functionality.
I was thinking more along the lines that you modprobe a stub gadget which merely describes what configurations it want to support and then modprobe all the functions. In essence that's what you've described.
I hope to find time for actually implementing it so maybe it'll be even easier then before to write gadgets. :)