I would suggest to implement a system with a buffered pool, which is what some news sites that tweet do to schedule out there messages over time while having control over them.
The main gist:
New questions (picked by current algorithm) automatically get added to a pool.
Moderators could askadd questions, perhaps also meta questions that could use some attention.
Moderators can mark questions as approved or delete them.
When scheduled job runs, take an approved question from the pool at random.
If there is no approved question, the algorithm takes any question.
This way the team still has control over when question gets published as well as its randomness.
It requires like 1 or 2 checks a day so shouldn't be really intensive; the main idea is to check what is the question pool as well as to have some control over it, not to micro manage every single question.
Of course, the above needs to be implemented which costs time and might not work well if it isn't visited twice a day. It's either that or attempting to get the algorithm right, which sometimes is tricky. As Ivo said, starting a new algorithm from the hottest questions of SU might work quite well...