Just a note about the suggested filtering of profanity.
In general, a profanity filter only makes sense if you are really sure about the native language of the target audience. Otherwise you may make your international customers angry: There may be English-language words that are a profanity in another language (no chance to find all of them), and words you filter out may be perfectly valid words in other languages. When Sims 3 was released, the EA forums filtered out the word "damit", but they did that on the localized forums as well, and "damit" is a very common word in German. This made it hard to write anything. "Sex" also means "six" in Swedish.
This may or may not be an issue if it's just about subdomains. I'd just be careful and rather only block words for technical and security reasons (or things like your own trademarks/products or something).
It may be wise to use a special domain for the user things that does not have any subdomains, and use a different domain for whatever subdomains you need. This way, you wouldn't need to block subdomain names on the "user" domain at all.