As an indie developer, I am inclined to release the game as soon as it is 'finished'. In hindsight, most of my games could have used more balancing. I know that there is no fixed answer to this question, but as a thumb rule, what percentage of total development time should be dedicated to game balancing?
You should aim to balance the game as much as you have to in order to make it fun. While doing so, you should be conscious of the development cost (whether that be in real money or in opportunity cost) in doing so such that, if need be, you can decide that it is "good enough" to ship and still make a profit.
Trying to distill the process down to a numerical rule of thumb is, in my mind, disingenuous because the process will vary widely between developers and games.
The most important thing you can do is polish your game, and balance as you polish. I say this because polishing can often encompass balancing. A polished game attracts a lot more attention because it feels and looks better, and shows that the developer paid a great deal of attention to detail. To give an example, Braid could have been called 'finished' in terms of mechanics and puzzles in just the 9 days that Jonathan Blow took the prototype it. The next two or three years were spent improving the art, tweaking and adding puzzles, and refining the mechanics. Each of those things relates to both polishing and balancing.
Depending on what kind of game you're making, balancing may not overlap with polishing as much as that example. Still, I would suggest polishing first, and if you have raw numbers (such as in an RTS game) that need balancing, then go on to do that last.
The amount of time it should take is however long you'd like. Usually once your play testers are satisfied and cannot pick out any broken or overpowered elements, you're set to release. As an indie developer, you have the benefit of setting your own deadlines.