You might not be able to get him on an 8-year deal, even if he was producing 100 points per year. The best players in the world always lose money on long-term deals, even if they max out. The cap goes up, they produce at higher rates (or the same if they're McDavid, for instance) and they inevitably become underpaid over the life of the contract.
Look at what Matthews has done in Toronto. He didn't sign 5 and then 4-year deals because he didn't want to stay in Toronto. He did it to maximize the value of his deals, while not completely forgoing longer-term security.
Realistically, McDavid never should have signed for 8 years in 2017. Now his next deal he'll be 29 and he would be better off signing for as long a term as possible. He could have signed for 12x5, then probably 14.5x5 and then signed a final contract at 30 and he still would have gotten 8 years and 15M from whoever signs him.