I have a catch-all account for my domain. If I sign up for a service I use their domain as the user on the address I give out. E.g. facebook@mydomain.com.
The result is that all email that isn't personal nor directly related to my business gets sent to an account that I check once a day.
If an address gets spammy or, like the Epsilon situation, a service provider gets hacked I can block my account without consequence.