If Staal bounces back to his age 27 form this year, then we really only have one bad contract--just about every team has one bad contract--the contract equivalent to Girardi should be something like Klein, meaning we're overpaying by about $2.5M for Girardi.
Move Girardi at 50% retained, move any combo of Nash, Klein, and Staal for primarily futures and a top 4 RHD.
That's really not that hard to get out of. Assuming a $1M/year defender can take the 3rd pair RHD minutes, and all the cap space acquired from moving Staal and Nash primarily, the $2.75M penalty from trading Girardi for 3 years really isn't that terrible