Simplest solution is to sandbox new accounts / new tweets that post on trending topics.
Majority of spam seems to be trend following, where a new account starts spamming
Have you seen the new video of #ACelebwhoistrending (spam link)
Those appear instantly once a name is trending. If twitter held all new account / new posters tweets for two hours it would eliminate that type of spam. It's not rocket science.
I don't mean hold all posts on trending topics - only those from
a) accounts created within the last few minutes that post on #trendingtag
b) sleeper accounts created within the last few months that have no posts, no followers that wake and post on #trendingtag