My preferred solution is this:
1. Every year, the US Government figures out how much money it wants to spend.
2. Then, it figures out what the (flat) tax rate would need to be in order to rustle up that much money.
3. Then, it sets the tax rate and sends everyone a bill.
You could do this a year in advance just to make sure everybody knew how much they'd be getting taxed. But the important thing is that everybody in the country needs to see the immediate hip-pocket consequences when the government spends more money.
Still doesn't help with things like SS and Medicare, though, which cost a little bit of money in the year they're passed and vast sums of money several decades into the future.