With regards to mutes not being retroactive, here's a sample scenario: a user contributes to a community, posting comments and getting involved in discussions. Later, his account is compromised and used to post dozens of spam comments.
If mutes were retroactive, all the user's old contributions would be hidden and have to be restored one-by-one. (And if unmutes are also retroactive, you would still have to then go and mute the specifically-spammy comments). In addition to these issues, retroactive ops touch an unbounded number of records, which could be a performance killer.
custom_json
operations are not very expensive, and we could potentially allow batching of ops in the future if it's shown to be a problem.