The majority of earnings held offshore were earned in foreign countries. To apply US federal income tax to foreign earnings held abroad on top of income taxes already paid to the countries where those earnings were made amounts to unduly disadvantaging US firms via double taxation.
Those who do the most for the economy on the most levels should be rewarded for it. If a company leaves the country to lower costs, then they are only making it tougher for nationally-based companies to compete. Less competition leads to monopoly, so by not punishing them, you hurt the economy.