Hagler wins a clear decision. Canelo is a very good fighter. Hagler was just...better. He could get the better of it on the outside and using movement, or be more aggressive and take it to Canelo. Hagler wins 117-111 on 2 cards and the other judge has it even (typical for Canelo fights, that one outrageous scorecard)
Hagler would force Canelo to fight way more than GGG did. He had the chin to withstand everything Canelo has to offer. I really don't see any way Canelo could beat him. I think Hagler could even stop him late in the fight.