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.