I think that the coin would be good if the block rate were stable. I think there are some ways to do that even if ASICs are brought online and back off, but I have not coded up an example.
Could you elaborate? I'm curious what you're thinking.
The basic idea is to accept the block with the highest difficulty instead of the block that is first. Then, to keep accepting blocks for at least an hour since the 6th previous block. By difficulty, I mean that I am counting the number of leading 0 bits in the hash. If there are multiple submitted blocks that match the network difficulty, only the most difficult block is distributed out to peers.
At the end of the 2016 block epoch, calculate the difficulty needed to create the blocks with those difficulties, and use that for the new difficulty setting.
This would prevent hoppers from getting a windfall. I haven't thought all the way through the ways that difficulty is used in the network, and I haven't completely walked through the way a block passes through the reference client moving peer to peer in the network.
This approach artificially raises the difficulty as soon as hoppers jump on board, then drops it back if they leave.