In the case of Ballance, for me: yes, he should get another chance, although I think his situation is a bit different - his first run in the test side was initially very, very successful, then he went downhill fast as was dropped. He went back to the counties and continued to be somewhat ordinary and had not gone back to dominating or at least doing well when he was randomly recalled, so now he may be 'back' I think it'd be entirely fair to give him another chance in test side - especially as his current levels of dominance are, for him, unprecedented (I think). ODIs he never really did so well at anyway, but if he continues to do well in the domestic one-day stuff I wouldn't really have a problem with him getting back in.
In general, I think it's fair to give repeated chances if there are signs that even if they've dominated the domestic game but failed internationally before, they might just be a better player. Bairstow, for example, was sort of in and out of the test side whilst all the while doing (I believe) pretty impressively in the county matches but eventually disappeared from the selectors' minds because it appeared he was a proven failure (or at best thoroughly mediocre) at international level and wasn't really mentioned for the next year or so, but then he had that insanely good 2015 season and was recalled. Now, admittedly, he wasn't immediately much better (if at all) than he had been previously, but before
too long he started doing good stuff and has been definitely test standard ever since.
I suppose if he'd been older at the time of his 2015 purple patch and had a longer history of test inadequacy, I'd have been more dubious about him getting a recall, but that would quite probably have been wrong of me.
Fwiw, I think Hick and Ramprakash were lucky to play as many tests as they did, Ramprakash notably more so for me.
Marvan Attapattu I think, kept failing whenever they gave him a place in the international side. He did well eventually.
Good example, and also relatively extreme - 1 run in his first 6 test innings combined!