Just adding some more comments here after a bit of poking around.
According to this github feature request, it could be possible now to have a balanced shuffle using Fill With Group Mode.
I'm not 100% sure I've got it right, but the way I've set it up currently is:
Collection Type: Collection (I've got a collection set up with several TV shows)
Playback Order: Shuffle
Playout Mode: Multiple
Multiple Count: 1
Fill With Group Mode: Shuffled Groups
There's no proper doco currently for the Fill With Group Mode but I think this setup should shuffle by TV show, playing one episode, and then moving on to the next one. Hopefully I've got it set up right!