The MarkovChan model can be marginalized efficiently, and grows linearly as well. You would just need to find a nice n-lagged transition matrix that in the short term brings the probability of trials closer to 0.5 fast enough but not absurdly so. (you could have a 1 step chain with p=[[0, 1], [1, 0]] of course, which will ensure any sequence has exactly 50% ones, but doesn’t allow any variation other than all even draws are 1 or all odd draws are 1).