How I see lag compensation system:
picThis is definitely the foundation of what is needed.
I'd only change that the reputation of nodes is set per pool. So in your example, the reputation of DE for deepbit is decremented but not the reputation in general.
Same for the other nodes. their reputation improves for deepbit but not in general.
I looked around a bit for IRC support in Python, but the main problem I see there is that it might be hard to make sure only "good" clients get in there and a channel can't be taken over.
About reputation:
I would just normalize over all clients and cut the reputation in half for every wrong submission. Setting it back to 0 seems to work even better though - but I simulated with random data, so you couldn't predict future values. Here you can say that clients that work reliably deserve a higher reputation, even if they have a hickup from time to time.
All in all it seems like a very good idea to have, it would just create a dependency on a Python IRC library (quick google search: e.g.
http://python-irclib.sourceforge.net/). If we somehow could even coordinate to announce every block found there, all BitHopper would need to do is to join + lurk there and get the list of the last let's say 50 blocks per pool, calculate an average hash rate from this and then estimate share counts. No API needed in any pool!
Yes, currently API scraping is easier + more exact, but this could be used to already get used to more repressive counter measures. As little as I understood from Polmine they also seem to consider just delaying stats instead of using a secure payout method.
Edit:
Seems that IRC is even easier, no external library required:
http://www.devshed.com/c/a/Python/Python-and-IRC/