I think I'm higher on Cespedes because at least he's played in the AL. And Oakland is more defensive than offensive. Short while in Boston, but that can take some to get used to. And just IMO, I think he can be a #4 hitter, where I think Heyward and Upton are more 2/3 hitters.
People say RBI's are a false stat. But again, IMO, I love when #4 hitters have a high RBI total. Because that means they are doing their job, and hitting the guys that are doing their job and getting on base in front of them in. And Cespedes last two years have over 100 RBI's. Heyward has an RBI high of 82 and every other season but rookie under 60. Upton at least had a 100 RBI season. But he's more of an 80 RBI player.
If you want a 2/3 hitter, and willing to pay over $100+ for them. Then IMO Heyward and Upton are your players. But all I see in Heyward and Upton is a Tampa Bay Crawford.