Excellent article! Love it!
It looks like “Provide a Wysiwyg editor” is a case of “damn if you do, damn if you don’t”. I recently worked with DITA documents (which are highly structured by nature) and think, that the approach DITA editors take (e.g. oXygen XML), while not perfect, could point in the right direction (which seems a little like the path using templates you described).
What might work: have a Editor a little like the scratch source code editor where you can drag content types on your page and then format within the constraints of the content type. e.g. drag a headline or drag a “site note” or a “important tip from the editor” —- the idea would be to move business vocabulary into the content types (of course that requires a good configuration system). These “business types” are then mapped to HTML elements and CSS classes.