Hanks did a decent gain/loss in Cast Away. And its kind of interesting that they put the shoot on hold for 6 months or a year to lose it. And it doesn't distract nearly as much as bale's skeleton.
And I heard D'Onofrio only got the Full Metal Jacket job after sending in several photos of himself gaining the weight with Kubrick responding "Still not fat enough" until he got it right. I think that anecdote adds a little something to the casting.