Like other countries of the G7 and Commonwealth peers (including the UK, Australia, USA, Singapore,...), we could add an exception for citizens by descent who lived here for 3 years (or 4 depending on what is the naturalization cap) to pass their citizenship to their children.
In New Zealand, a citizen by descent can apply after 5 years of residence in the country to become a citizen by Grant and then be able to pass his citizenship to his eventual kids. I think it's more fair than limiting it radically and blindly (I tried to find a western country with such a radical rule that doesn't allow exceptions other than for diplomats and military but I was unsuccessful).
PS: I said earlier that copying other countries shouldn't be automatic. But this seems like the most logical thing to do.
If we want to be fair between citizens by descent and citizens by grant. Otherwise, a second generation citizen would have no right to transmit her citizenship to her kids should they be born abroad, even if she spent almost her whole life in Toronto or Halifax.