Look at any other communication protocol that works well and they have two key features:
- Senders are authenticated and "known"
- Recipients only receive messages from "allowed" senders
For examples - take a look at most IM clients/protocols, Facebook, and other social mediums.
How do you translate this to an antiquated email system? The first is to authenticate the sender. SPF is a half-ass way to do this; however, the main problem is that a sender can authenticate themselves. Instead, I think TLS should be required on SMTP. This process would require both the sender and receiver to obtain credentials from a trusted third-party, and it already supported on most mail systems.
For the second issue, simple grey/white lists would work to prevent emails from unauthorized senders.
The problem with requiring both of these options today is that very few SMTP servers are configured for TLS and no-one expects a grey list to prevent their email from coming through. So, this would take some work on both administrators and end-user to change how they currently use email, but it would not require a complete overhaul of how email works.