The fog does not have to be uniform. You can make fog more visually interesting by introducing some noise.
You can create non-uniform fog by applying a noise texture.
For a more complex effect, you can also apply more than one noise texture and make them slide with different speeds. For instance the noise texture that is further away slides slower than the texture that is closer to the camera.
You can apply more than one texture in one a single pass in one shader, just blend the noise textures according to the distance.