Stokes is easily a better test bat than ODI, when he's playing at his best in tests his judgment of what he can and can't hit is absolutely superb. That Perth ton for example, he just waited til Johnson et al put it in his area, then smashed it. Everything else was left or blocked. He's getting more consistent too, and that'll continue. Not to mention that so far the bigger the moment, the better he's performed - always a good sign!
In fairness to Ballance, I thought when he came in he actually looked very good against the seamers, which was the problem that got him dropped. Played spin very well in his first go at tests, give him more than one innings and he's got a decent chance of coming good. Vince doesn't look good enough for test level unfortunately, still think his selection is largely based on having a really nice cover drive as he's never scored consistent FC runs vs good attacks. Moving Root to 3 seems at first glance to have given us more problems than it's solved!
Early suggestion - Hildreth or Samit Patel considered for middle order? With Stokes/Jimmy to come back in and Vince/Ball/Finn to go from current XI. Then hopefully we just need a spinner, and now is definitely the time to give Ansari or Rashid a go as the main spinner before we head out to the subcontinent in the winter.