I think I figured out how to distribute the events over four groups (the groups get mapped into Circles 1-4 by a random draw at the Nats pilots' meeting). Where L is the number of entries in the largest event, M is the number of entries in the middle-size event, and S is the number of entries in the smallest event, and we use 10 as Steve's max-per-circle number,
If L < 11, the largest event will go to group A
If 10 < L < 21, the largest event will be divided between groups A and B
If 20 < L < 31, the largest event will be divided among groups A, B, and C
if 30 < L, the largest event will be divided among all four groups
If M < 11, the middle-size event will go to group D
If 10 < M < 21, the middle-size event will be divided between groups C and D
If 20 < M < 31, the middle-size event will be divided among groups B, C, and D
if 30 < M, the middle-size event will be divided among all four groups
Now is the interesting part. First, assign the largest and middle-size events to groups. Then,
If S < 11, the smallest event will go to the (or a) group with the smallest L + M population
If 10 < S < 21, the smallest event will be divided between (the) two groups with the smallest L + M population
If 20 < S < 31, the smallest event will be divided among (the) three groups with the smallest L + M population
If 30 < S, the smallest event will be divided among all four groups
I think that'll work. It should give a maximum circle population difference of ten, but judges could have a heavy circle one day and a light circle the other day. For a given event, the maximum circle population difference is one, as it is with the current system. I am working on a VBA Excel program to do this. When I get it finished, I'll hose it around and you can enter different combinations of event entries and see how it distributes them.