I understand spam is a problem but email is perhaps the last communication identity you can own, and have interoperate with others. I have had my own domain and own email for 16 years now, and I am not going to give that up. Free email services come and go, but I own my identity.
I think the problem with DIY/small business email is that it is surprisingly difficult to set up a proper mail server. Sendmail book is about 4 inches thick, and my current setup is using 3 projects to achieve a simple mail server with SSL auth/IMAP. (Dovecot, postfix, SASL). I am a software dev, but even very good sysadmins I know do not want to have anything to do with email anymore and will often farm it out to Google.
Might want to set up greylisting, though, to curb incoming spam.
What succeeded for one client was my posting pflogsumm stats showing delivery rates and times for Yahoo vs. numerous other large mail providers, along with proof of SPF and DKIM support, to all the Yahoo C-level (and several lower) execs, indicating that they had a problem, and I'd been attempting for months to resolve it.
Apparently there's a Yahoo "concierge", and we managed to get onto the company's approved senders list shortly after.
That said: email's a pain in the ass, and I do know for a fact that that particular client was failing to scrub known dead recipients (as in: the domains no longer existed). Some fights you just concede....
However Yahoo are an order of magnitude worse when it comes to delivering email. If they decide you aren't their friend, they send back an error code with a URL in it to go and visit and identify yourself via a web form that is reviewed rarely by some humans. Then if you fuck that form up or if they don't like you, blackholed for 6 months and they stick their fingers in their ears. Try telling a yahoo user about this as well and it's "meh".
Email is broken unless you have a small provider or DIY and it's fucking frustrating.