We took a simpler approach in handling large volumes by adding a complex datapoint to the WinVolumeUsage datasource that alerts if both of the following are true: PercentFree < 5% AND FreeGB < 10 GB. So far this has worked well for us in reducing noise.
The following datapoint will equal "1" if the conditions are met, "0" if all is well:
if(&&(gt(PercentUsed, 95), lt(FreeGB, 10)), 1, 0)
Since I hate hard-coding limits, we later modified it to pull the limits from properties so we can vary them by group/device/instance as needed. We set the default values for these properties (LowDiskSpacePercentFree & LowDiskSpaceFreeGB) at the top of our device tree.
if(&&(gt(PercentUsed, LowDiskSpacePercentFree), lt(FreeGB, LowDiskSpaceFreeGB)), 1, 0)
Below is what this looks like. (We prefix many of our custom properties with our company name, which I obfuscated to be safe.)