A private pool with 12 PH/s should be MORE than enough to keep variance down... I know I have a measly 300 GH/s on p2pool and that has a total of 1 PH/s... and I get about one payout a day roughly.
I'm all for spreading the hashrate as evenly as possible... and I'm also baffled that "withholding winning blocks" is even a thing. Is there a way to defend against that in code?