I always renew contracts when the player is in his final year (unless a player with 2 years left, and its coming to end of season, and he is near to getting his next quality star), then I sign him before he costs more money.

I never save my skill points. I always assign them as soon as the player gets them. I see no point in waiting. Get the most out of your player, as soon as you can.