The template system is more reliable than you give it credit. Template changes in one place do not necessarily mean site-wide layout changes.
I would recommend using a custom tag,
<i>http://ezpedia.org/en/ez/custom_tag http://ez.no/doc/ez_publish/technical_manual/4_0/reference/datatypes/xml_block/custom_tags</i>
This method allows you to indeed place your html into a template (which is a good practice) and selectively include this template within ezxmltext attributes (ie: page content) the best of both camps, doing things well and doing things flexibly.