I agree that Obama sitting it out and Edwards beating Hillary in the primaries and his scandals coming out in the general is the only way McCain wins in 2008, unless Bush's second term goes significantly different for the better. McCain of course would then go on to be the Republican version of Jimmy Carter and get trounced by Hillary (or Obama) in 2012.
Bush's second term might have gone better had global energy prices stayed a bit more stable, as while the Housing Crisis was probably going to happen ever since the 70s, the economic crash easily could have happened a few years down the road.
More deft handling of Katrina, and not going after Social Security reform in 2005 would make him likely hovering in the 40s in approval rating. Having Iraq ironically be a lot worse in 2004 but somehow not cost him the election might help. The Surge worked, and worked well, but it was only able to work because the Army had to stand aside in Baghdad, let the Shiites and Sunnis wage war, and let the Shiites win, for the Surge to work. The Shiites clearing the Baghdad Suburbs of Sunnis earlier on lets a Surge become possible and work earlier on, and the War might not become unpopular among independents as a result.
One thing that Bush did well throughout his Presidency was staying above the growingly partisan media culture developing. This helped him in some regards and hurt him in others. Maybe if he decides to wade into that a bit more, he could inspire greater tribal loyalty on the right and therefore not lose Conservatives over Immigration reform. But I doubt this.