We use a tiered approach. We run some quarterly clean up on hard bounces, unsubscribes, etc. to identify the low-hanging fruit. On a semi-annual or annual basis, we’ll also use third party tools like Kickbox or BriteVerify for a broader assessment of our current DB health.
We also have an on-going workflow that attempts to re-engage contacts who are “aging out.” If they do not respond to one or more of our thought-leadership content pieces, we will flag these as non-marketing uness they re-engage later on their own terms.