@neounix Lenda. Obrigado pelas dicas, muito apreciadas — você me mandou em uma jornada de combate a spam. Coloquei o Cloudflare no modo “Estou sob ataque” temporariamente (o que parou os registros deles — eles estavam criando uma nova conta a cada 1-2 minutos) e verifiquei os logs do firewall do Cloudflare para alguns IPs que eles estavam usando, percebendo que estava desafiando/registrando cada visitante. Eles realmente estavam usando useragents idênticos.
Adicionei uma regra de firewall para desafiar usuários com esse useragent e desativei o modo “Estou sob ataque” no CF. Não acredito que muitos inocentes tenham sido desafiados por isso e isso parou completamente os registros de spam deles.
Em seguida, descobri o recurso de bloqueio por Número de Sistema Autônomo (ASN) que o Cloudflare possui e configurei regras de firewall adicionais para bloquear uma quantidade significativa deles, referenciando os logs de bloqueio por useragent. Existem contornes para isso, tenho certeza que você conhece, mas é um custo e esforço adicionais de recursos para eles.

@codinghorror Concordo com você de que os captchas seriam úteis. Diria que um bom objetivo principal de prevenção de spam seria aumentar os custos gerais de recursos para spammers.
Captchas contribuiriam para isso. US$ 2, mais ou menos, por mil resoluções de recaptcha (usando uma API de resolução de captcha, por exemplo, https://anti-captcha.com). Além de complexidades extras necessárias para os bots deles.
Observação lateral: O Anti-captcha tem um plugin de navegador para resolver automaticamente seus captchas, funciona bem e é uma conveniência divertida. 
Endereços de e-mail geralmente são outro custo de recursos para criação de contas em massa. No entanto, não é o caso quando um único usuário pode criar virtualmente contas ilimitadas por endereço único do Gmail. O custo de 1000 contas do Gmail é bastante significativo, então eles frequentemente recorrem a outros provedores menos rigorosos ou domínios catchall. Ainda assim, isso custará recursos para eles e é mais fácil identificar como spam.
Acho que realmente é o caso de “quanto mais, melhor”. Nenhuma defesa única será forte o suficiente; apenas aumentar a quantidade de recursos e esforço necessários dos spammers em geral são passos na direção certa. O melhor cenário é que seja mais trabalhoso para spammers fazerem spam em fóruns Discourse do que para administradores bloquearem e removerem em massa qualquer coisa que passe.
@itsbhanusharma Gosto muito de poder usar + também, mas é por isso que não podemos ter coisas legais, haha. Seria bom ter a opção de ativar o bloqueio, se necessário para combater spammers.