Last time I checked, web-mode wasn't in this category: it's a major mode
with explicit support for some templating languages.
That's right, it doesn't try to handle major modes generically, but it
does have to solve similar problems, just with the benefit of being able
to custom-make its major modes.
mmm-mode would require a hunt for CA signatures, but it's not outside the
realm of possibility.
The way I see it rather is to start over from scratch, based on the
experience gained with mmm-mode, but with a different view: instead of
trying to make it work without changing existing modes, assume that
the major modes will be changed to fit the framework.
The result should be much simpler/cleaner/shorter.
I tend to assume that mode switches shouldn't be that super frequent to
be a real performance problem, and that if they need to be sped up,
there are ways to do that, e.g. by providing a few "subr", so I'm not
too worried about it.