There is an accepted method of storing arbitrary data in transactions through OP_RETURN that is limited to 80 bytes and is also easily pruned from the UTXO set since they are provably unspendable.
To me, this was acceptable until it reached thousands of OP_RETURN transactions per block. See
Mempool Goggles. The larger spam transactions are now replaced by much more small transactions. It's still spam and takes up block space that could have been used by real Bitcoin users.