Looking at the situation in Iraq, two things are clear: one, Iraq is still not stable enough to stand on its own; and two, our presence is serving as an irritant to the problem.
When stating these facts, one solution seems obvious - a phased pullout contingent on other security forces relieving our own. Something as simple as President Bush coming out and making a commitment that, "For every two Iraqi troops who enter active duty service after training, we will withdraw one American soldier." We could even extend the commitment, with a different ratio, to other nations like Jordan, Saudi Arabia, Syria, or whomever the Iraqis would feel comfortable receiving assistance from and two whatever extent the Iraqis feel comfortable. Turkey and Iran are no-gos for obvious reasons, but I digress. The pullout could also have other facets: incentives for foreign countries taking up the slack, a commitment to turn over command to the UN after our troop level reaches a certain point, etc.
My guess at the potential impact and cynicism in extended.
In the short term I think that making a solid commitment, and beginning to follow through with it immediately, would politically knock the wind out of the insurgents' sails. If the commitment is made in good faith and the Iraqis perceive that to be the case, then the insurgents recruits should dwindle.
Naturally, I don't expect any such thing to happen. The "contractors" who are fleecing America and Iraq would lobby too hard and are too close to Bush for it to happen. Not to mention that Bush hasn't been able to keep a commitment in his entire life, and the whole plan would collapse without that.