If you are doing marching cubes, maybe it is possible to calculate the normals from the underlying volumetric geometry instead of trying to calculate them from the mesh? I mean you lose information when you go from volumetric to mesh, so maybe before losing that information it is possible to calculate normals that should be applied to the mesh?