I think the source of the problems is the decentralizated process that wikimedia javascript have followed. Medium-size wikis will have 2-3 tech people. Small wikis will be lucky to have 1 js-savy sysop. Even wikis with no local expert may have just forked the Monobook.js from its mother project and never touch it again. There are also one-man javascript cathedrals that noone dares to touch now but have lots of users which will complaint if they stop working.
I'm sure there are lots of versions of collapsible tables out there (and some old pages are not viewable with the newer ones...).
There are diverging branches for each change. One user changes innerHTML to DOM while another added new features. Then a third one fixes an injection on its own copy, while the original version at enwiki is left unpatched.
Even their goals are different. There's no way to coordinate all these efforts. There's no central mailing list where it can be shouted "Hey! This javascript is now deprecated" or "This gadget is now much improved".
Also, the place to put the javascript code (a superset of the link-or-copy disyuntive) is made non-trivial by the distribution of sysop rights.
Some steps to take: * Finally create global gadgets. * Create a central wiki for javascript sharing [1] * Gather a list of tech users[2] and invite them to the new wiki and/or a mailing list. * ??? * Profit
[1] A protected Script: namespace at meta would also work, with a new permission. Note that we would need to give to all these people access to edit some global javascript.
[2] Make a list of users with more than 3 edits to Mediawiki:*.js on any project.