I have an idea. Instead of having number of neutrals be random, it could be, in part, based on King’s side.
As a simple example, i just had a game where King was evil, but we also had the minimum BD members (7). There was 4 neutrals. In addition to this, the neutral roles were fairly bad for BD with a scorned, a fool, a reaper and a alchemist.
My suggestion is the following: Reach a balance of 0, and use the following scores:
Good king = +2
Neutral king = 0
Evil king = -2
4 neutrals = -1
3 neutrals = 0
2 neutrals = +1
Having a fool in game = -1
Having a scorned in game = -1
Sheriff or paladin in game = +1
So as an example, the game i just described would be a -5, which means very unseen sided.
There could still be some variations (-1 or +1 is ok), but not something as massively unseen sided as this.