Well some of the blame for those players leaving has to go to the GM that didn't manage to go max term. Hanifn, Gaudreau and Tkachuk all went with shorter term deals. I blame the GM for this, but not directly to the individual player deals as much as keeping other crap on salary or spending too much on UFA's that resulted in the cap situation. Also the artificial Gio cap.
6 years for both JH and Hanifin, when they appeared to be long term and were young enough that a 8 year deal would end while they were still usable. Tkachuk with 3 years when we knew exactly what he was.
So, you can't blame those Amerks for bailing. They put in the time they were given.