Just to frame the discussion a bit, these are the sorts of issues we're talking about:
Currently there is one piece of code in core (I'm assuming that acs-authentication is part of core) which adds a new user to dotlrn if it's installed. Then there is the code we're currently discussing, which removes a user from notifications and dotlrn. And I've got another change to commit which makes sure that all class admins have admin rights on each uploaded file, which only applies to dotlrn.
There is also dotlrn-specific code in curriculum and survey, but I guess that's ok in non-core modules?
All three of these could be handled just like a pre/post-install APM callback, however those are implemented. Is that what you had in mind, Andrew? If so, what would the calling code (which would still have to be inserted into core code) look like? I guess it has to look pretty generic or we will be right back to the situation Don objected to in the first place.