There are 2 lines of thinking when it comes to promoting guys early:
1. Guys will have to make adjustments to the MLB level eventually, and the ones that are talented/smart enough to do it will figure it out.
2. Guys learn from succeeding against lower level competition before being challenged at the MLB level.
There is anecdotal evidence about guys failing and succeeding while following both lines of thinking. Thames is the most recent success story of a guy getting reps against lesser competition and (apparently) improving dramatically enough that he has success at the MLB level after largely failing early in his career. I am of the opinion there simply no way to tell who will make the transition to MLB and who won't so give the kids a shot when they've earned it and when the team needs it.
The downside to promoting a guy too aggressively in the minors is pretty small since it can be remedied with a demotion that costs the team nothing. Promoting a guy to MLB too early can have fairly significant consequences for the team as it starts their service clock, and sending them down burns an option year.
So if you are going to call a guy up to MLB early, it better be worth it. Having Heyward on the opening day roster was worth it because the Braves were competitive. Having Swanson on the roster to end a 68 win season and to start another guaranteed non-competitive season is pure stupidity...and it has absolutely nothing to do with his stat line or his ability to adjust to the MLB level.