I recently discovered that [HTML5 introduced a real `<template>` element](http://www.html5rocks.com/en/tutorials/webcomponents/template/) that you can use for exactly this purpose. We may not be able to use it yet, [depending on browser implementation status](http://caniuse.com/#feat=template), but it's worth knowing about.