Two ideas for your consideration:
I would create a master null that all the other nulls are parented to, give it a some slow wobble (with wiggle expression), then construct some sort of a 3D sine wave motion that moves the nulls based on their x, y, and z positions. The three (or more) sine waves would themselves travel along the axes in time.
Alternately, and an easier approach, if you are doing this in Particular, you could use the built-in animated fractal offset for the main particles to make them appear to be floating in liquid and have the main particles output particles with the Auxiliary Particle System (unless you’re already planning on using both).