Here is a way to generate 15 weeks of no repeating game.
a = Subsets[Range[16], {2}]; Partition[RandomSample[a], {8}]
David, the line.
pairings = Select[Union[Sort /@ Tuples[{Range[16], Range[16]}]], #[[1]] != #[[2]] &];
can be replaced with
pairings = Subsets[Range[16], {2}]
Paul.
Forget this it doesn't account for same team playing in each round:(