That doesn't make sense. A liter is better to imagine than a gallon (which is a huge jug). A pint of beer is same as saying 500ml of beer - both are equally easy to grasp.
The error has nothing to do with units of measurements chosen. You cannot measure exactly 1.(0) gallon [1.0000000000… gallon with infinite number of zeroes] of liquid with absolute accuracy either.
In engineering this would be resolved with something like 500 ± 10 mL.
In consumer goods there are either regulations or you get, say, 505 mL so you have nothing to complain about. And you would never be able to tell the difference.
By the way, ML is megaliter. Milliliter is mL.
[1] unfortunately https://en.wikipedia.org/wiki/Tun_(unit) leaves me no wiser as to what volume the unit "shit tun" might measure.