As you say, implementing the generic "set" handler would not be so easy to do. When iDS 10g (which contains JDeveloper 9.0.4) comes out, it will include a later version of UIX 2.1 that does have the set handler (and thus MutableDataObject).
For <compound>, one workaround is to use <bc4j:chaining>. It requires you to load the BC4J UIExtension, but it functions just like compound.
Other than these things, you'll have to just use method/instance handlers (unless you want to go to the more substantial effort to make your own tags via a UIExtension). As you can see, we have done a lot of work on trying to make these things more usable in later releases.