Is there a known maximum for how much a string of 0's and 1's can be compressed?
Kolmogorov complexity is one approach for formalizing this mathematically.  Unfortunately, computing the Kolmogorov complexity of a string is an uncomputable problem. See also: Approximating the Kolmogorov complexity.

It's possible to get better results if you analyze the source of the string rather than the string itself.  In other words, often the source can be modelled as a probabilistic process, that randomly chooses a string somehow, according to some distribution.  The entropy of that distribution then tells you the mathematically best possible compression (up to some small additive constant).



On the impossibility of perfect compression, you might also be interested in the following.


No compression algorithm can compress all input messages?
Compression functions are only practical because "The bit strings which occur in practice are far from random"?
Is there any theoretically proven optimal compression algorithm?