I figured out a workaround a couple weeks ago for this. I simply rigged the Combination Strike section to check for a different passive and tweaked the milliseconds on rotating between generators. Also changed generator priority so that static charge is always used first when entering combat. Every 200 milliseconds it will cast WotHF[FoF]. It's not incredibly optimal in that the Monk still doesn't prioritize debuffing everything on the screen with Static Charge, but it at least fixes the issue of the bot only spamming one generator.
Note: As is this will only work if you have chosen Alacrity as one of your passives. You can change the first line to a different passive if need be.
bool hasCombinationStrike = Passives.Monk.Alacrity.IsActive;
bool isDualOrTriGen = CacheData.Hotbar.ActiveSkills.Count(s =>
s.Power == SNOPower.Monk_DeadlyReach ||
s.Power == SNOPower.Monk_FistsofThunder ||
s.Power == SNOPower.Monk_WayOfTheHundredFists ||
s.Power == SNOPower.Monk_CripplingWave) >= 2 && hasCombinationStrike;
// interval in milliseconds for Generators
int deadlyReachInterval = 0;
if (hasCombinationStrike)
deadlyReachInterval = 2500;
else if (Runes.Monk.Foresight.IsActive)
deadlyReachInterval = 29000;
int fistsOfThunderInterval = 0;
if (hasCombinationStrike)
fistsOfThunderInterval = 500;
int wayOfTheHundredFistsInterval = 0;
if (hasCombinationStrike)
wayOfTheHundredFistsInterval = 200;
//else if (Runes.Monk.BlazingFists.IsActive)
// wayOfTheHundredFistsInterval = 4500;
int cripplingWaveInterval = 0;
if (hasCombinationStrike)
cripplingWaveInterval = 2500;
Note: As is this will only work if you have chosen Alacrity as one of your passives. You can change the first line to a different passive if need be.