For live performance, combining zones where possible while the game is not busy would be best.
For a post processing sort of performance you would want zone bricks or some sort of script which fires raycasts down from the sky to figure out where to place zones after the build is complete.
If you used zone bricks you would run into trouble with water or terrain bricks. As they are all on the same brick layer.
To get around the brick layer conflict you could make brick umbrella placement bricks which create a anti rain zone instead of a brick.
Personally, this script works fine for what I need it for. I haven't tested it on any large builds.
I have no clue how you created the physic's zones within' the brick itself (pos/shape/scale) like how you scaled it.
You can grab the bricks world box, or you can use some of the fields in the brick's datablock. This time I just copied code from the default water bricks. It saved me a lot of time.