One way of approaching this would be to constantly monitor a metric like frequency of posting. I think that we can safely assume that anything above 1 note per second is definitely a bot and be hidden by default on the client side.
That being said, not all bots are evil. So it would be optimal to also have on the client side a section to review these bots and whitelist them individually.
I know this doesn't fix the problem entirely and the UX is kinda tedious but it would be a lot better than viewing all that spam and users are already fighting them with reports.