I've done a thorough analysis of the "perpetual opponent" algorithm and implemented a better way of scheduling matches. The results and description of my algorithm are in a white paper here:
http://www.issaquahrobotics.org/MatchMaker/
In looking at the Friday schedules for Florida, Bayou, and Great Lakes regionals, it seems that the "random" method may improve the problems with opponent duplication, but sacrifices both partner duplication and minimum gap between matches. Lots of teams have as few as two intervening matches between their closest matches, which isn't much time to get back in line. I won't know for sure how the algorithm does over the full schedule until Saturday's schedules are posted.