It's not as simple as that. A "standard interface" for drivers involves abstraction, which affects performance negatively. It also involves development and maintenance for a feature which no kernel developer will care about or use, sucking up time which could be used for more generally useful things. It constrains new developments because the stable interfaces must be maintained in order to be useful. Furthermore, as you mentioned, it goes against the preferences of the folks who are actually writing the code.
Implementing such a feature would be a pretty rotten bargain for their part, don't you think?