Hmm, it's tricky. The situation is messed up enough due to years of lacking the will to do the right thing, so stuff that would have worked shortly after the invasion was completed would not do so now.
First, let's look at some facts: A) Some parts of Iraq are more hostile than others, and B) The US/Brits (Yes it's a large "Coalition of the Willing", I know, but aside from the British everyone else is just there for show) don't have the manpower in place to be everywhere and keep everyone safe, nor do they have the means to send enough extra troops to achieve that during this lifetime.
So, if I were in charge, focusing my efforts on the less hostile areas to get proper infrastructure, police forces etc. up and running there would seem mighty tempting. Leave the hostile areas to rot, for the time being. Then once one area is in more-or-less working order and has a functioning Iraqi police and army presence to deal with day to day stuff, pull out most of my own troops and move on to a new, adjacent area, and repeat. Of course, this would also involve spending the same kind of money on improving people's lives as is currently being spent destroying them.
Then when the time comes, use brute force on the hostile areas, saturating them with troops to the point where anyone who even peeks out a window while holding a gun is asking for a bullet. Then basically repeat the same process there, just with vastly greater troop protection for the various civilian workers.
Would work like an amphibious invasion really, establish a beachhead, then expand out from there. As conditions start to improve, the recruitment base for the insurgency starts to shrink, and they should eventually be marginalized without any real campaign to eradicate them. Foreign fighters would still be a problem, but Iraqis living a fairly decent life under US occupation would be much less likely to aid them than Iraqis wishing they were killed during the fighting due to the ****ty conditions they live under.