Well, perhaps, but those hoppers didn't do the sometimes 4 hours of processing on the server that we did in order to get a shot at a fresh block.
While we're slaving away at calculating that hash...they're off trying to get more than their due many other places.
Anyway, I can solve the problem with a relative degree of ease.
You create another class of shares called 'loyalty shares'. You create a number of shares equal to the estimated share count at 5 minutes with current has power.
You distribute loyalty shares proportional to the payouts on your last block.
So...
Two things...
1) Pool hoppers would be fucked. (their margins would be reduced to tatters. If they happend to hop in on a 2 pool that closed in 2 minutes, their share would be super miniscule due to the loyalty shares.
2) It would ease attrition on long length blocks because folks wouldn't get the loyalty shares if they bailed.
This way... instead of your most loyal folks getting shafted in short rounds, we'd end up doing the best.
Please direct posts to Sargasm, I just helped him set up his own thread.