Every full node must download the full blockchain (prunable or not!).
Every full node has consented to download and store financial transactions.
NOT every full node has consented to store anything else.
You need 100% consensus for this, not merely some subset (ie, not miners; not developers) or even a majority.
Furthermore, everyone is free to store data that isn't in the blockchain.
There is nothing to be gained by putting it in the blockchain except that you force it on those who don't want it.
Explain how this is anything but abuse...
First of all, Counterparty transactions are financial transactions.
Second, every full node has consented to download and store the Bitcoin blockchain, no less. That is, transactions that accord to the Bitcoin protocol, which Counterparty transactions obviously do. Satoshi imbedded a political message in the Genesis Block, for Christ's sake... You have a much narrower view of the possible use cases for Bitcoin than do others. (See what Peter Todd wrote above.)
CheckMultiSig is quite clearly intended for ECDSA public keys, not arbitrary data. It should be no surprise that using an operation for something other than its intended purpose has negative, perhaps unintended or unknown consequences. Counterparty transactions are not "according to the bitcoin protocol", they slip through because it never expected that the feature be used in that way.
"It works by accident" or "it works because it is difficult to prevent" does not imply good design or the right way of doing things.
No. It is quite easy to extend the bitcoin protocol. It has been done many times. See the BIP process. The community agrees and the protocol is updated.
But that was apparently not the path chosen... counterparty clearly uses a feature (CheckMultiSig) in a fashion for which software was not designed. It is silly to pretend that full nodes "consented" to an unintended use.