It's not as simplistic as you state. Expats do not pay full U.S. income taxes as-if they lived in the U.S. They start off with a $96K deduction (so if they only make this much they, in fact, pay no U.S. taxes). Then they get a Foreign Tax Paid deduction. Then they get a housing deduction.
Like companies though, they are liable for income taxes due in the country the income was made.