I don't think adding these new requirements to packages is useful. Why can't you create an add-on package, not in the core, which packages can use if the developer wishes?
One nice feature of using acs_objects is that the developer gets a lot out of that: permissions, global object_id. This 'feature' isn't for the developer: s/he has already decided on the interface best suited to display. This sounds very much like another feature which will just slow down a server from performing meaningful work.
I would venture to guess that the vast majority of acs_object types were never intended to be displayed on a page by themselves, out of context. Why should developers be forced to do this? The one instance I know of where an object is displayed by itself is the forums package. The message content can be displayed by itself. I can't express how useless this page is. Why is it even there?
If this is mainly an idea that will be used with the content repository, then make it a part of that package. Make the service contract requirement, if any, apply to packages that use the content repository.