Nice that you call out the cost of over-suppressing. A soft bounce counter with a time window (say 3 soft bounces across 14 days before suppression) avoids killing addresses that just had a full mailbox for a day. Do you also store the raw SMTP code with each suppression? It makes later audits much easier.