One of the first big Constitutional battles was over "internal improvements". The question was: Does the Constitution allow the federal government to "improve" things? Can the feds build roads, bridges, canals, etc? or is that up to the States?
I maintain that they got it wrong: There is no Constitutional duty for Congress to build stuff for the folks back home. But perhaps block grants to the States would be allowed so that the State can intervene on behalf of the citizens. But block grants are not earmarks for cronies.
It needs to be asked, why can’t this kind of activity be kept near states to begin with? Slash the Federal taxes till Uncle Sam can almost fit into a phone booth. Let states do whatever with their local taxes that they want.