Ultimate solution: community enforcement. Right Click > Report Spam flags an account for spam and adds it to a temporary, session-limited ignore list for you. Getting X (50, 100, whatever) amount of spam flags prompts GM/special unit investigation.

Limiting the amount of times you can shout and censoring words impedes on legitimate use, and automatic flagging depending on keywords will lead to a lot of false reports.