which is much more effective. Also, there is the (OP_FALSE OP_IF) filter bugfix implemented in Bitcoin Knots.
If both of them become default on many nodes, spammer will resort to use old technique (using 20-byte public key on address) which is worse on long term due to unprunable UTXO. IMO only making OP_FALSE OP_IF ... OP_ENDIF as non-standard is good compromise.