I tried Eligius for my first pool mining experiments because of the simple setup/scheme and low fees, and somehow got the mistaken idea from the wiki that its approach had already been fortified against hopping.
These murky improvised changes are worrisome.. it clouds the simple story of the pool and makes mining during the transition period while the buffer is built a losing proposition.
Here's an idea for transparent payout formula that should be hop-proof. (It may be an old idea.. I'm new here.)
Base payouts on exactly the last N shares submitted, where N < the expected number of shares that will yield one block.
Yes, that means on a long round that takes for example 3N shares to reach, there's no credit at all for the first 2N shares submitted. Tough cookies. They had as much a chance as any other to be rewarded, there was no way to know in advance they wouldn't, and there's no incentive to leave after contributing them because the future is unknown and has as much positive expectation as ever. Ignore Sunk Costs.
What if a round takes less than N shares, say N/2 shares? Reach back to the previous N/2 shares those that already paid out once and pay them again. This situation too was just as unpredictable as the chance the next N shares will yield no blocks, so people can't gain any advantage by timing their entry or departure.
Only making the expected return per next-share-contributed be totally independent of the pool history/round-lengths can strategic entry/exit be made profitless. One way to do this is to pay a fixed amount per share no matter what the relation to successful blocks.. but that requires the pool to have a reserve and insure the long dry spells.
This should work too.