The TextMate HTML bundle has a lot of helpful commands which create or work with tags.
Starting with XHTML, tags with an an empty content model like
<hr> should be written as
<hr />. As to whether or not one should adopt XHTML, I’ll just link to Ian Hickson advocacy against XHTML.
To make TextMate use XHTML tags, go to Preferences → Advanced → Shell Variables.
Here add a new variable with a name of
TM_XHTML and a value of
/. That is a space followed by
/. This text will be inserted verbatim after each tag name with empty content model.
Additionally the presence of the variable will also enable XHTML mode for Tidy, Markdown conversion, etc.