I use a mac.com email, from way back in the day, as my primary email. I was also tired of putting that address out there for the world to see, for crawlers to find it and send me stuff, so I set about a new strategy. I created an alias,
xxxxxxx@icloud.com. Here, I took advantage of the fact iCloud can do "+" addressing. So for sites I'm signed up for and that accept the "+", I used, typically, the name of the site. For this site, for instance, i used "alias+macrumors@icloud.com". That way, I still get the messages but they're not going to my primary address, which I keep private to only those I know. To remember them all, I used a Numbers document that lists the site and the alias I used. This is also a memory jogger to remember sites that don't accept the "+" entry. This not only allows me to remove my email from sites whenever possible, but if I start getting spammed, I can check and see which site it came from, in most cases, based on the email+ address it went to. So if started getting spam sent to my "xxxxxx+macrumors@icloud.com" address, I know the site was sharing my email with others. I could then make a decision to cancel my account or change it again, to a second alias I've set up for my failover. And so on and so on.
As I said, lots of work to set up, but now that I'm off and running, it's been really smooth and easy so far. By the way, I'm only using macrumors.com as an example - they have never spammed me since 2006 since I've been a happy member.