Here's a circuit I use:
It requires Schmitt trigger inverters, but works well.
The two inverters are arranged as a flip flop. Each one's output connects to the other one's input, and the signal gets inverted twice as it goes around the loop. Each inverter holds the other in its current state.
When the switch is open, the cap charges to whatever voltage is at the output of the upper inverter. When you close the switch, that voltage gets shorted to the upper inverter's input. By definition, that voltage will be the opposite of what was at the upper inverter's input before the switch closed, so closing the switch moves the flip flop to the opposite state.
It's kind of hard to see from the diagram, but when you close the switch, the two 1M resistors form a voltage divider between the outputs of the inverters. No matter which state the flip flop is in, the voltage at the center of that divider will be VCC/2. As long as you hold the switch closed, the cap's voltage will move toward VCC/2.
VCC/2 falls in a Schmitt inverter's hysteresis band, so holding the cap at that level doesn't do anything to the flip flop. When you release the switch, the cap will charge the rest of the way to the upper inverter's output voltage, and the whole thing will be ready to happen again.
Not only does the circuit toggle the output between HIGH and LOW each time you press the button, it also debounces the switch. The make-and-break connections of switch noise only happen while the cap is charging toward VCC/2, and the Schmitt triggers ignore everything that happens during that time.
When you void a product warranty, you give up your right to sue the manufacturer if something goes wrong and accept full responsibility for whatever happens next. And then you truly own the product.