But the only reasonable behavior to the protocol is to accept them all.
Agreed.
Any software that blocks (some) unspendable transactions can be applied at the time the transaction is created. There's no reason why someone else (i.e. the miner) needs to do the blocking.