Harper has worked hard to figure out his struggles, he's been taking balls the other way consistently the last couple weeks.
They've worked with Franco for years to try to get him to stop pulling everything and overswinging, it's not a lack of hit tool, he has stretches where he pounds the ball, then reverts to bad habits.
Herrera has that funky swing which I think the league caught up to, and I don't think he knows how to adjust.
Cesar on the other hand has added strength and developed real power, he's a dead fastball hitter who's slowly learning how to handle breaking pitches (will probably never be great, but is no longer floundering).