I also do not like the idea of adding dozens of callbacks.
But a nice interface for most common modifications, like adding atcommands, script commands, (statuses, skills?), sounds less messy and maintainable.
But what is the advantage of such plugin system? Everybody is free to modify their code. Why would they create a plugin instead of just adjusting their source? Only advantage I can see, there is less delta against our codebase, easier merges, updates for the server owners.
I think, if we wants to improve the plugin system, first we should determine what kind of plugins do we want to see. I think plugins should not implement anything that is related to game mechanics. They should be tools, that helps debugging and administration and meant to be distributed although be an unoffical feature, for example a gui plugin.