As mentioned, I think the tax treatment that the US applies to non-resident US citizens is unreasonable. I’m going to try to describe some of the details on this, since this is an issue that has been completely ignored in the US press. But, as a comparison I think it’s worth understanding what happens when a Canadian citizen decides to move away from Canada on a long-term basis. Canada follows a system that is reasonable, but is set up to stop people from simply leaving to avoid paying taxes on previous earnings.
There are certain tests that need to be met for a citizen to be considered a nonresident, assume that on Day 1 a Canadian citizen, lets call him Bob, leaves the mother ship and meets these requirements.
Bob is responsible for filing Canadian tax returns up until Day 1. On these returns, he’s required to report all income, gains, interest, etc that he received before Day 1, and this does include income from worldwide sources. From Day 1 on, Bob is no longer required to file Canadian income tax returns. So in following years, Bob doesn’t need to file in Canada.
He is also required to pay what is effectively an exit tax. To satisfy the government of Canada, Bob will need to calculate what is referred to as deemed disposition of capital investments. So, Bob needs to pretend that he sold all taxable investments on Day 1, and report all gains on his final Canadian tax return. This is reasonable; he should pay tax on all income and gains that occured while he was still a Canadian resident.
In the future, when Bob receives income from Canada, from retirement investments or the Canadian Pension Plan he will pay tax at a 25% rate - note though that tax treaties with some countries may reduce this. He doesn’t need to file a return, this is a simple flat tax.
Canada’s system is reasonable, and straightforward. When you are a resident, you pay income tax to pay for the services you receive. If you leave, you aren’t taking these services any more, so you can stop paying. You can’t just leave to avoid paying tax though, the exit tax and nonresident tax on future income are there to prevent people from just taking off to avoid paying their taxes.