If you simply require the moderator to choose a reason from your TOS any time they delete a thread and then displayed that reason on the "this thread has been deleted" page, that would go a long way.
What drives people crazy is variability. We want consistency.
Even if people think a given rule is stupid, they are much better at swallowing that than dealing with the frustration of threads disappearing for no known reason.
Also, there should be more single post deletions and less thread deletions.
Thanks for taking the time to hear us.