I subscribe to a military information list. Usually it has stuff that appeals to game designer friends of mine (I call it science fiction meets reality). For the most part, they are hard core, hard combat types (who else gets to test drive real weapons systems like grenade launchers that fire mini-grenades out like machine gun rounds).
Interestingly enough, the latest they were pushing was both dropping DADT and providing spousal benefits to the spouses of gay service members.
Of course their readership was all over the map. As far as I can tell, if someone serves with someone they know is gay, they don't care about gays in the military, combat or otherwise. If they have not, or are older (from the era of predatory male/female interactions in the military), they are hostile to the idea. And the Air Force doesn't seem to care at all -- kind as if they were a non-combat branch.
The easy transition is to allow gays to be "out" any place or spec that women have. That avoids the front line combat unit issue (the only place with a lot of resistance), yet ensures that everyone will meet gays. Probably take a year and DADT would dissolve of its own weight and experience.
So, repeal DADT for the Air Force and Navy, repeal it for all Army "non-combat" roles (everywhere women are currently allowed to serve) and punt on the Marines. Get ready to repeal the entire thing in 12 months if it goes as expected.
Now I did have a friend tell me that gays are too valuable to risk in combat or the military, but that point of view aside, I think everyone else's issues and needs are met, with a rational transition, and a chance to pull back if it turns out there is something dramatically wrong with the idea vis a vis combat arms that recognition won't cure.
Yes, that means mixed status for a while, but this is something that should have/could have been begun a while back. The sooner begun, the sooner a mess is behind us and the military's combat effectiveness is not diluted by distraction or politics.
Or that is my current thought. Let me know where I am wrong.