Personally, I like it the way it is.
A middle-ground alternative would be to randomize the player turn cards separately from the bad deck. Then insert the randomized turn cards at regular intervals throughout the deck. You still wouldn't know who is going when, but you would know that the players wouldn't all be going at the start or end of the round.
With this, you are not creating any different situation than might happen randomly under the normal rules. It would make setting up the deck for each cycle a bit more time-consuming.
My last game was smth similar - starting each round I shuffled players and evil cards separately than added 2 players cards to each half of the evil deck and shuffled again. Then put one half at the other. Done.
Still random but less swingy. Doesn't add that much extra time to be a problem. My prefered way to play the game for now!!!
ps. next time I'm going to try smth in addition: if your card shows up, you can wait with taking actions until another hero's card shows up. Then one of the cards must be resolved before drawing another card.