I never do anything else then connect CH_PD, GPIO0, GPIO2, RST to 3.3V using a pull-up resistor and GPIO15 (ESP-201) with a pull-down to GND. Then for programming mode, I pull RST to GND, I pull GPIO0 to GND and then almost immediately release RST. In other words, reset with GPIO0 low and then release GPIO0 immediately after the reset. This just works. I never do anything with CH_PD, GPIO2 other then pull them up.
If you need the "dance" described in the above post, I suspect your power supply is insufficient which makes the pull-ups not strong enough. Also do use resistors! Or be prepared for surprises or sudden death.