That problem is easily solved with client-side whitelists (ala hey.com). However, that would also mean the death of all "legitimate" marketing emails. All the hoops you have to jump through are there either as a form of identity validation (which is fair) or because the industry wants to allow SOME unsolicited emails through.
How many normal people do you know who use hey? People hate making lists, they won't do it. Then they'll lose their minds when their banks fraud department can't reach them, or they find out they didn't get the job because the recruiter couldn't email them, or...
Then there's the fact that a lot of people sign up for a lot of bacon, then get angry about receiving it.
I haven't tried out hey.com yet. Does it mean I have to fill out some form or captcha in order to send someone an email? Or they would need to "approve" me first?
No. Each time you get an email from a new email address, you screen it and say if you want it in your inbox or somewhere else (spam, or transactional emails, or whatever), or you just don't want to receive it. That way your inbox is only reserved for emails from people you know or accept.