There are two versions of the 51% attack, and I have made proposals that would address both of them.
The first is the live attack, where an attacker starts working on the next block, and publishes it as soon as it is ready, and then keeps doing so even while the honest network finds blocks that reveal the double spend, causing the chain to flap between the two branches. This is of limited value, as it would be very visible, and the attack window would be very short, like 10 minutes to an hour, depending on the actual hashing power of the attacker. I proposed chain flap dampening, but I'm not sure any more if there is any point.
The second is the dead attack, where the attacker starts working on a new chain, but doesn't publish it until it is very long. At this point, the transaction the attacker wants to reverse is deep in the chain, and considered very safe by everyone, but since the new chain is longer, it will reverse everything after the start of the attack. For this one, I proposed
exponential difficulty for a deep block chain reversal.
Oh, and by the way, neither of these attacks are anywhere near as easy, nor as useful as popularly imagined. And we really have read 100 threads on the topic.