In addition to the great suggestions in Josh's article, we also have a couple of Smart Lists that search for junk data entry in certain fields, like First Name, Last Name, Email Address, Company.
For example: If the First or Last Name contains "test", "demo", "asdf", "abcd", etc. ... we consider those as junk leads and purge them each month. Same criteria can apply for Email address or Company Name too.