I was wondering how people typically estimate time for bug fixes, if they do, in an agile project. Assume I have a team that works at a velocity of 20 story points per iteration, and I know the project is 100 story points. I can't in good faith tell the customer I think it will be done in 5 iterations because I know bug fixes will be required at some point during development (while the velocity will remain at 20, I will have more story points since I will add in stories for bug fixes). Are there any techniques for estimating how much time (or in this case story points) to allot for bug fixes (obviously that will change, but at least so I can estimate something into my schedule initially)?
You have identified a wicked problem with bugs: it's hard to plan for fixing them.
The second best thing you can do is extrapolating from prior experience. If in other projects you spent 30% of your time fixing bugs, plan for as much for this project.
The best thing you can do is not producing any bugs. Of course that's an ideal, but one that you can come quite close to using Agile principles and practices. There are high performing teams out there which get literally a handful of bugs reported a year.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus