Could you have the interrupt fire when the button first presses, then instead of callcing delay() for a period, DISABLE altogether interrupts for the smae amount of time? This would mean that the bouncing interrupts would be ignored, then you can re-enable interrupts in time to catch the next push.
Not sure how this would affect other bits of your code that may also rely on interrupts e.g. PWM. There is a lot of discussion somewhere on the forums in relation to this.