I feel your pain

I have a client whose XML documents have huge chunks of CDATA that is also formatted as XML. If you don't need to actually manipulate that content as XML you are lucky.
The simplest thing might be to just tackle it as a text filter problem and never go through XML at all - just line by line take input and write output.
Look for the start of CDATA or the end of CDATA in a line and just cut it out of the line.
Bill