Red Sox get:
Good Upton
Bad Upton
Gattis
Braves get:
Mookie Betts
Garin Cecchini
Allen Craig
If necessary to get the deal done, pay some or all of the difference between Bad Upton and Craig's contracts for the remainder of the deal ($9 million in 2015, $6.5 million 2016, $5.5 million in 2017).
Red Sox get a power bat for RF in Upton, a young cost controlled power bat that can play C, DH, and even LF in their park in Gattis, and a warm body to stand in center field. Plus, with Bad Upton on the team their chances of resigning Good Upton could increase. BJ might have a better chance of rebounding somewhat playing in Fenway.
Braves get a CF with OBP skills and speed, a left handed 3B who can platoon with Johnson and probably eventually take over full time, and a LF who could be a reclamation project. If we have to pay $15 million per year for an outfielder for the next three years I'd think Craig would be more likely to give us at least some return. Assuming that the Braves have to pay the difference between BJ and Craig, that would still free up the $14.5 MM owed to Justin, which would allow the team to add a 5th starter plus possibly some bullpen help or a bench bat.
I don't know if this makes much sense from the Red Sox point of view. From the Braves POV, if the Sox would take it I'd jump all over it.