If transaction fails - it will fail on first validating node. It will not reach block producing node at all. Which mean there is no way this account can be charged for broadcasting bad transaction.
And AFAIK the same goes with bitcoin and ethereum. Do you have other information?
For every transaction you perform on the network, it requires CPU and bandwidth which you can only get it through staking EOS tokens.
The amount of CPU and bandwidth you get depends on how much EOS tokens you stake.
If you spam the network with transactions, your allocated CPU and bandwidth will get depleted eventually and you will not be able to perform ...