Can the simple solution be forbidding module names to have under scores in them? So, taxonomy_menu becomes taxonomymenu (CamelCaseSucks). For new modules, it is easy to enforce (e.g. project/cvslog module can refuse to add it), but for existing ones, work is needed.