I had the same issues when I used the same shader recently (in Blender 2.79). This is how I solved them:
I. Decrease the Step Size value.
I realized that I had to reduce the Volume Sampling Step Size (Under Geometry section in the render settings). This removed noise in those areas where the volume density is very less.
But there are side effects of doing this:
- This will increase render times, so you will have to find the exact value which is good enough to remove the noise.
- The clouds would look more denser, so you may have to decrease the overall volume density in the shader.
- Some cloud volume, if placed far away, might disappear, or get cut if Max Steps value is set low. You may have to increase the Max Steps value if that happens.
Tip: Step Size and Max Steps properties work in relation to each other. Reducing Step Size may need increase in Max Steps in order to make distant volumes visible since the renderer may reach the maximum number of volume sampling steps before it reaches the far away volume (because it is taking a smaller step to calculate the volumetric shader)
II. Regarding the black boxes, Increase the Max value for Transparency under Light Paths. Increasing the value did not affect my render time.
All the cloud instances are rendered inside cube geometry with a transparent shader on it by default (if no surface shader is defined and volume shader is connected). Now since the volume and background ray has to travel through many of these transparent boxes to reach the camera (or from the camera), sometimes it may hit the maximum transparency bounces value and that will render a black box there as the volume ray and the background image cannot pass through.