So what your really saying is that the automatic XML serializers in .Net are the issue not WCF.
For instance I could build up the XML manually and return a XMLElement. This is what I had to do for my service. Using these attributes:
ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Bare
Obviously it's more work than getting automatically serialized objects but it's still doable.