I think it's just random. We played home vs. SD in 07 and then @ SD in 08 so there's no specific pattern when it comes to home/away.
If the Pats and SD had finished in the same slot (i.e 1st and 1st 2nd and 2nd) The Pats would have played @SD again this year. Here is how the Pats schedule was since 2002.
vs NFC teams
2002 NFCN (@Chi, @Det)(GB, Min) reverse for 2006
2003 NFCE (@Phil, @Was)(NYG,Dal) reverse for 2007
2004 NFCW(@STL, @AZ)(Sea, SF) reverse for 2008
2005 NFCS(@Car, @ATL)(NO,TB) reverse for 2009
vs AFC teams
2002,2008 AFCW(@SD, @Oak)(Den, KC) reverse for 2005
2003,2009 AFCS (@Indy,@Hou)(Jac, Tenn) reverse for 2006
2004 AFCN(@Pitt, @Clev)(Cincy,Balt) reverse for 2007
vs AFC like finishing teams
2002 @AFCS 1st(Tenn) AFCN 1st (Pitts)
2003 @AFCW 2nd(Den) AFCN 2nd (Clev)
2004 @AFCW 1st (KC) AFCS 1st (Indy)
2005 @AFCN 1st (Pitts) AFCS 1st (Indy)
2006 @AFCN 1st(Cincy) AFCW 1st (Den)
2007 @AFCS 1st (Indy) AFCW 1st (SD)
2008 @AFCS 1st (Indy) AFCN 1st (Pitts)
2009 @AFCW 2nd (Den) AFCN 2nd (Balt)