One thing I do want to warn you about is that Marketo uses the term hard bounce to include bad addresses, spam blocks and some types of technical bounces. We don't treat these the same, and neither should you. The bad addresses you might consider removing (though you might want to keep them for historical reporting). The spam blocks you really don't want to remove, because they're most likely good leads who had a temporary antispam block and will deliver at another time. The same goes for these technical errors.
If you want to isolate just the bad address bounces, you can use the smart list filter email bounced is any, add constraint category is 2. Category 2 is just those addresses that have bounced due to no longer being functional email addresses; we set these email invalid.