I finally had that sweet feeling of satisfaction of figuring out a debouncing routine that I actually like.
It's not rocket science or anything, it's just pretty robust, easy to understand, and works with a bouncy-ass mofo of an arcade button hooked up to an interrupt. I don't know why it took me so long to write this, but I was just stuck with old code and worse ways of doing it for years.
I hope this helps anyone looking for a simple shifted-variable-based way of counting "good" readings and then after a certain number of those, declaring a button press is valid.