Any decent hash algorithm will produce basically "random like" values for any given input including the empty input. For example MD5 produces d41d8cd98f00b204e9800998ecf8427e on an empty input.
I wonder, however, why the MD5 algorithm wasn't defined to have a final step where the output is XORed with d41d8cd98f00b204e9800998ecf8427e. This should not affect the cryptographic strength of the hash algorithm, and it would have the convenient property that a hash of all zeros represented a zero input.
Would it simply just because adding that step would slow the hash down a bit?