I don't think it's possible to implement the features we have with our current 'OO' style, everything-references-acs_objects data model such as extensibilty and generic services in any other way.
Defining (and redefining...) acs_objects as a view over many other tables just wont work, PG's native OO features are broken (and both would just move any performance problem to a different set of queries), and if we're to go back to the ACS3.X way of doing things we should just start developing the old code base again.
I like the direction of Malte's second suggestion, and think the toolkit should be developed with this in mind: our object system is important but not free; acs_objects should be used extensively, but inheritence hierarchies should be kept short; the core acs should aquire more features; when the core lets us down it should be fixed in the core, not worked around in umpteen packages.