If you are getting z-fighting in CityEngine, I would recommend using the Model Hierarchy to click through your shape tree to see if there are two terminal shapes that try to render the same floor. Then, you can try to figure out where in your rules you'd have to make changes in order to prevent two terminal shapes from creating the same floor with different colors.
For the Scene Viewer, there will always be problems with the terrain and the ground floor. Unfortunately, extruding floors by 1.3m is a lot, and I would say this is undesirable.
Maybe it would be possible to use the Align Shapes to Terrain tool in CityEngine to better align your initial shapes to the terrain? This may help, but it also may not entirely fix the problem. You can check out the options. If you use a "Translate" option, then the initial shape will not be distorted, and if you use a "Project" option, then vertices of the shape would be projected to the terrain resulting in an initial shape that is probably not planar. You might want to project the shapes to better fit the terrain, but you might have to modify your rules to work with non-planar shapes (or maybe the rules will just work without modification).
Aligning Shapes to the Terrain