That's horrible, I'm sorry you had that experience.
The trick seems to indeed be to ignore / mute / block.
Unfortunately it's inevitable that in decentralized, free and open network we will have people post horrible things. Even to just test it out, or to provoke/troll someone.
The solution is on the side of client apps (and maybe relays): those need to add features for individuals to deal with the content and pick their own boundaries/limits, etc.
This can include filtering out words, automatically blocking people, only showing content from people you follow, requiring payments on posts in some situations, etc.