Why I'm getting lots of searches from Chinese websites?

Yes, I absolutely agree that IP blocking is not effective.

User agent blocking tends to work pretty well, except when the spammers are constantly changing it.

That’s why my thoughts went to just blacklisting the actual URL that is being referrer spammed.

It just “feels better” because we’re not blocking something based on an underlying assumption (i.e. “this user agent supplies a bad referrer so we don’t trust it”) but we are actually blocking what we want to block (“we see this website being referrer spammed on more Discourse sites, let’s not put it in our database”). At least this is harder to circumvent.