I developed a way to do what I feel is a very fair way to rank the teams in a competition after they've completed their schedule. The data below is taken from the 2010 college football schedule for the Big East.
I've put a 1 in a column/row cell if the team in the column beat the team in the row. Then at the bottom I have 7 rows labeled A,b,C...
Row A puts a number in a teams column that counts how many wins each team they beat had. For instance Louisville beat Connecticut, Syracuse, and Rutgers. Those teams had 5, 4, and 1 wins respectively so the Louisville column gets a 5+4+1=10 in row A.
Then Row B in a teams column adds every team they beat's Row A score. For instance, Louisville beat Connecticut, Syracuse, and Rutgers, who had 19,11, and 5 in their Row A scores. So Louisville gets 19+11+5=35 in its Row B score.
So now you can see for a team T, in Row B it starts to be important how many wins a team R had that was beaten by a team S that was in turn beaten by T.
Row C does the same thing with Row B that Row B did with Row A and now with Row C the analysis goes 4 teams deep.
So you go to Row G following the same principle, One less generation than there are teams so you've included every possible chain of who beat who.
Then as I have you can organize the teams by their row G score which should give you a very reasonable ranking of how the teams stack up against each other.