Let's talk about money. If a Canadian passport holder is not in Canada for 10 or 20 years, Canada is not spending money on that person. There's no draw, but the holder has an entitlement to emergency diplomatic services. It's an insurance passport. As a first solution, it's a group insurance plan. Pay the premium if you're not in Canada for five consecutive years, or fail to file Canadian income taxes as a Canadian resident during a certain period of time. Have a $1,000 to $5,000 passport fee for a non-resident Canadian, and problem solved.
Similarly, the last solution—and this will be very unpopular in the blue chip living rooms of this country—is to adopt the American taxation rule, where we tax based on citizenship and not residence. That's a second solution.