It seems these are complicated issues, so maybe it's better to look at small steps in the right direction, rather than something that will solve everything at once. i.e.
* Have people stop committing other people's translations under their own name, instead only use something like a bot account, that obviously isn't taking credit; maybe even better if the bot could do a commit per translator, and list the translator in the comment.
* Have an easy interface to go from a special page -> system message, such as a hook that would allow rendering the page such that each message is marked, and links back to somewhere useful.
* Try to generate some kind of "what links here" for messages. Maybe use a maintenance script to generate each special page, so the message function can log the page/message; render examples for extensions from their parser tests, etc.