Its actually a consequence of the design criteria of a cryptographic hash (which MD5 aimed to be) that there not be such a thing.
When you feed a file into an ideal 128-bit cryptographic hash, you can not predict any of the 128 bits of output (or their relation to each other) other than by running the hash. If you can, you're not actually getting a 128-bit hash. E.g., if the hash had a parity bit (a bit such that the total number of 1s is always odd [odd parity] or always even [even parity]), then you actually have a 127-bit hash.
And in order to make sure that you don't accidentally generate a valid hash by typo, you'll want a better than 50/50 chance of detecting it. So you'd lose more bits.
The problem is that you wanted a 128-bit hash for a reason: an extra bit generally doubles the work required to attack the hash.
If the redundancy is part of the hash's intended design, then it'd be called a 124-bit hash, with 4 bits of CRC (etc.). If the was not intended, then its actually a partial cryptanalysis (breaking) of the hash.
Practical Solution
Since you want to catch typos, just add any checksum or check digit and write it down alongside. You could use something like perl's Algorithm::Verhoeff to add a check digit.