So you want to replace a party member with Zach eh?
Replacing Aeris with Zack is the most logical for me. After she kicks the bucket of course.
Is there a way you could do that? Make it so Zack joins the crew after Aeris dies?
He could easily fill in the space left by her, and you don't have to kick any of the other chars. (Even though we all know Cait deserves it, I guess maybe three people use him.)
As for having him replace Yuffie, I'd vote against that myself. I tend to make her into an Aeris that can attack with a couple magic sources. (I mean, come on! Load her down with materia, set her in the back row, and even if you use all her mp she can attack for more damage then Aeris ever could.)