Une solution en test sur un modeste site d'un client :
un mix de css et de test de turing :
un champ explicitement nommé 'email', rendu invisible par css pour l'utilisateur.
Les bots iront remplir avec tout le zèle ce champ, ce qui permettra de les filtrer.
Au cas où le client désactive les css, un message textuel pourra préciser qu'il ne faut pas remplir ce champ destiné à leurrer les robots.
C'est en production depuis une semaine pour le moment donc retour d'expérience limité, mais le concept est simple. Il est loin d'être infaillible, mais impose une manipulation humaine pour le prendre en compte. Mais la contre mesure est aussi simple que de renommer des champs.
Enfin bon tout ça c'est la théorie, tant dans quelques semaines je mets un captcha classique
edit: autre avantage, l'utilisateur ne voit rien et n'a rien à faire !