The best time to extend him was last off-season, the off-season before he becomes a FA, and if I recall that's what the Cubs did with Ian Happ. The next best time is now. He might not go for it but if the Cubs dangled a market-value contract at him (4 years 96 mill) I'm sure he'd seriously consider it.
My fear is that another big market team like the Blue Jays or Yankees show interest in him this off-season and it becomes a bidding war. I can also see the Phillies, Padres, White Sox interested.