I'm beating that drum since over a year now. Relays need to charge for use and users need to sponsor their follows' use of relays. End of spam. In other words, if you have many followers that pay to see your messages, your messages reach relays that get paid for the effort. If you have no followers, pay for your reach until you have followers. If you are forever a lurker, you should pay forever. If you have much to share that nobody wants to see, pay for it.