Now this is an issue I understand and have a method for fixing.
Forget the colour for now.
Build the model step by step, add a few shells at a time.
Between each step save or convert the file to an stl. You may need
MeshLab(ML) or
Accutrans3D(AT) to 'flatten' (in ML) or 'merge' (in AT) the shells if your software doesn't. The next stage is to upload your the interim model to
NetFabb Cloud Service - you'll need to enter an email address and you will get two emails, the first letting you know the model is being processed, the second letting you know processing has finished or failed. The only times I've had it fail was when it couldn't cope with the amount of rings in a chain maille models.
The cloud service makes a neat job of slicing shells at their intersections and then joining the parts as one mesh. Once the model's shell is as a single complete shell, then colour.
There is one downside the cloud service can come up some unexpected results with shells sharing the same geometry, overlapping shells slightly is required.
I haven't got NetFabb Pro, but I understand the software does the same kind of merge operations if you have access to that.
If you're really stuck for a cure, I use some old skool software called Imagine for my creations mostly by directly editing the mesh and would gladly help you out.
Paul