It's a very fair question and, unfortunately, I do not see a solution for "Iraq."
The moment the U.S. invaded, the notion of "Iraq" became abstract. It is just a geographic boundary present on a map. There is nothing that holds this amalgam together as a single, cohesive unit. (Don't take that as an endorsement of Saddam's Iraq, though.)
The Kurds have long sought independence and have enjoyed relative autonomy for the past a 17 or so years (due mainly to the so-called no-fly zones). The Shiite represent the largest ethnic group and are closely aligned to Iran. The Sunni, that enjoyed favor under Saddam Hussein's regime, do not wish to reliquinish control.
It really doesn't help, either, that the Anbar Awakening, which has played a role in the reduction of violence in Iraq, involved the arming of former Sunni Insurgents. Do you think they are going to give up their guns when the U.S. leaves?
I have long been an advocate of partitioning Iraq. It is an imperfect solution to an exceedingly complex series of problems. It doesn't come without its own drawbacks, too. Iran will gain greater regional power with its extended influence with the Shiite partiion (which Iran is already doing, mind you). Ethnic cleansing will continue for those Sunni and Shiite areas and vice versa. Kurds in neighboring Turkey, Iran, and Syria will likely push for Greater Kurdistan.
What's the alternative though? 100 years of U.S. presence in Iraq attempting to maintain the integrity of an arbitrary political boundary? More sectarian warfare?
I stand fast by the belief the U.S. should never have invaded Iraq in the first place. All of this was painfully predicitable. Short of a time machine that enables "do overs" that is a moot point, though. The solution, then, is to find a way to address all factions desires, try to mitigate the best we can against futher chaos, and get our troops and our money out of Iraq permanently.