To me the essentials are ….
The right mixture of liquid detergent to water. Too much soap and you get soap bubbles mixed in with oil bubbles. Too little and your oil bubbles are too large. I struggle with this all the time.
For color I use either PowerPoint generated color charts, or free wallpapers downloaded from the Internet. With both I open each chart in Photoshop and add some saturation and blur (usually motion blur). I try to brake harsh lines.
The camera must be as parallel to the surface of the water as you can get it to be.
I haven't seen it mentioned anywhere but one of my challenges is to keep the solution free from other objects that a macro lens picks up easily. I will use a metal knife or plastic straw to move bubbles around. But not toothpick, chopstick, or anything that may leave something in the solution.
I don't use flash. Instead, I use two Ikea Jansjo desk work LED lamps, and crank up the ISO to 800-1600 on a crop body.