Just wanted to say thanks so far for the work you have done Patrike.
If I had one suggestion would be development of a hybrid of current profitability and 24 hour profitability (something like a rolling average of current profitability over the last hour X 24 hr profitability) as an option for profit switching. Ideally it would prevent the one off spikes in profitability that occur for algorithms. If the profitability is indeed real, the rolling average would pick it up.
In terms of measurement of pools side vs client side shares - is there any realistic way for AM to detect at YIMMP pools (or even other pools) if consecutive orphaned blocks were found and then disable that pool for X hours to hopefully dodge a problem at the pool? I realize that ultimately pool side results are what matters and that pools should be more responsible for that detection (ex: chain split protection if >50% of blocks are mined at a single pool), however, if it's even possible and you were able to come up with a solution for that I think you'd add something very unique to the mining market.