Obviously preparation helps, and obviously a second or even a third warm up game here would've been useful. But with the international schedule as it is, it's simply not possible to do that. England are already playing 20 FC games in 2013 as it is, along with ODI's and T20I's.
But really, if we're thinking that England are going into games like this complacent, then our heads are in the sand. In their last 15 tests before this one they won just five, and lost eight. Then they managed to lose to NZ A with just two players away from a full strength side. After all that, I really doubt they would've gone into this game thinking "oh, this'll be a walk in the park". The only test I can possibly think they may have gone into being complacent, is the 1st Test at Dubai against Pakistan, but I highly doubt they'd have ever been complacent after that.
Truth is, England have been pretty unimpressive everywhere recently. Everyone sighted the conditions and the playing of spin as the reason we lost in the UAE, but even average bowlers like Umar Gul where able to take top order wickets at Dubai. At home we didn't finish off West Indies as well as we'd have liked, and compared with our wins against Australia, Sri Lanka and India in 2011, the wins were far from convincing. I didn't even think South Africa played that well against us if I'm honest. England managed to throw away a lot of wickets with crap shots, the like of which we hadn't seen in 2010 and 2011. The India series suddenly made people look a lot more positively on the year, but in truth we were reliant on a handful of performers there, and players like Trott and Bell didn't make a big impact until the final stages where India were as deflated as can be. All the hard yards at Ahmedebad, Mumbai and the early stages of Kolkata where done by Cook, Pietersen, Prior, the spinners, and to an extent, Anderson.
I can't really quite put my head around why we've been so poor since beating India, but it is quite obvious to see we have been. In the year beginning with the Ashes and ending with the India series in 2011, we hit six double 100's, since we've hit zero, with Cook being the only man to have hit more than 160 in an innings. Players like Trott, who made a name for themselves by never giving it away, have only hit two 100's in the last 18 months, despite getting numerous starts. All the seamers, even Anderson at times, have lost a bit of nip from what we saw when they demolished the Aussies and Indians.
England should win the Ashes, but before they start the batsman need to start remembering how to bat long, and the bowlers need to make sure they've fit to bowl at higher speeds and sustain the pressure longer. You know, like what we were doing this time two years ago. Otherwise, it's going to be much harder than many people seem to think.