@kevinwong made a post putting forward the idea that the posting key stuff such as upvoting and downvoting could be move off the chain by funneling all that through an SPS to a centralized entity in charge of the value distribution. Immutability of content could be achieved through the use of memos. UI abstraction would be how this were to be made simple from the point of view of the user. He pointed out that anonymous voting is what many successful social media platforms do.
I suggested in the comments that anonymous voting accounts (not traceable to oneself) is how this could be accomplished in response to a comment by someone else. The response was that not everyone would do that which is why anonymous voting would be less impactful. A fair point, but this is something that could be mitigated to a great extent by UI abstraction. Build an UI that helps keep one's stake distributed across various curation and voting accounts separated to avoid accidental breach of anonymity and to automate the process of re-balancing stake as necessary.
Flow control mechanisms laid bare
That is really how it should be done. If the purpose of a trusted third party is anonymity, then obviously public audits could be rather difficult to arrange without blowing everyone's cover. On the other hand, without public audits there would be considerable risk of theft. Even without theft, anonymous upvotes would make it difficult to combat voting rings and other forms of reward pool abuse. Besides, I think putting a centralized third party in charge of seeing to it that our votes go where they're supposed to go would be against the whole ideology of Steem.
There is no need for a hard fork to solve the revenge downvoting problem or to accommodate anyone's desire to vote anonymously. Also, nothing at all except for the effort required stands in the way of developing a trusted third party type of account like Steem Basic Income that can be topped up with liquid funds, off chain if need be, controllable through a front end that looks and feels like a regular front end but that requests a bot to to vote (upvote or downvote as required) on behalf of the user. @curangel allows its delegators to have the account downvote on their behalf with the maximum vote size commensurate to their delegation. But that's only a beginning of what is possible.
Another argument for centralizing voting that @kevinwong made was scalability gains. I have no idea how much blockchain bloat voting causes and whether or not that is a problem. Those with knowledge about that are welcome to fill us in about that.