I feel a reasonable and fair way to do this would be to institute a cost equivalent to (character level X 1000). So a level 1 (non-ECL) would cost only 1,000gp to level up to level 2 when they earn enough experience points. We already give that much gold to level one characters, so the first level up is largely free.
Sure, it gets expensive quickly at higher levels or for Non-ECL characters, but no gold sink is perfect. Besides, a level 20 character should have been able to gather 200,000gp as they leveled, and 500,000gp total is nothing by level 30, considering all the chests looted.
Plus this suggestion has the advantage of making +1 and +2 items valuable again. Being cheap on gear would mean quicker levels.
This would probably best be paired with gold loss on respawning from death. I propose a percentage of gold equal to character level should be removed. So a level 1 would lose only 1% of their wallet. Meanwhile a level 30 would lose 30% of theirs.
Boom! Economy fixed