Questions on pool hopping strategy:
Why not always go to the pool with the lowest number of shares? It would seem (at first blush) that this would result the highest returns overall. Intuitively this would seem to be the best way to capture disproportionately large shares.
Also, adding smaller pools could work if your server could pull equally from the X lowest pools where X could be configured based on the overall hashrate of the metapool. I understand the concern about these pools dying, but the flip side is that contributions from the metapool may sustain more of them, since the pool owners really only care to make their fee.
Just some thoughts.