This is the writeup on the matchmaking algorithm, and you might find it to be an interesting read;
http://www.idleloop.com/matchmaker/
As TCNJ's scorekeeper, I can say that there's very little control over the particulars of the schedule. It picks what it thinks is 'best' and that's what goes, unless there are glaring problems in which we can choose to regenerate the schedule. The only solution to this problem is either to increase the time at the event available for matches, or to decrease the number of matches played. The scheduled 8 minute match turnaround was picked almost entirely by the algorithm based on the fact that we input 12 matches and the amount of time available.
As Gary said, if we try to increase the match separation, the number of distinct allies/opponents drops sharply. If I remember correctly, every team saw at least 22 different alliance partners during quals, which is pretty good.
We did our best to note what teams were having particular issues during matches and dispatched volunteers to help and get them resolved.