It's kind of hard to avoid if, as I think is your case, the curve you are plotting is the intersection of another surface with your original surface. One possible approach (though this may be hard to implement consistently along the whole curve) is to add a small translation to the curve to move it away from the surface.
Here is a Manipulate using your expressions from your code to see how this might be done:
Manipulate[
Show[plot1, plotadd /. z : Line[___] :> Translate[z, {0, a, 0}]],
{{a, 0}, -3, 3}]