How would you solve the spam problem (without it being "censorship")?
I just told you. Give users client-side more sophisticated solutions that allow them to curate their feed by themselves. Right now I can mute words, works OK at the basic level. Being able to block regular expressions would be even better.
Blocking by regex would be dope
Spammers would just start producing variant messages that won't match a regex
How to solve it on the relay side without blocking newbies?
I don't want any relay-side "solutions". That's what would make Nostr unsafe to use and, in fact, threaten its very existence.
Storage and bandwidth are limited, you can't give unlimited write access to everyone.
I hope we can do p2p between clients in the future, skipping the relay part