You can do this with a pattern brush instead of using the zigzag effect. It's not as easy, but gives you complete control and doesn't have this problem. Draw one segment of the zigzag, select it, thethen in the Brushes window choose new brush and choose pattern brush. Then there's a bit of tweaking and adjustment to get it lining up properly.
Here's an example with a wonky zigzag, showing it can be any exact shapekind of pattern you want, and the frequency will be the same regardless of the shape it's applied to.:
You'll probably need a corner tile too. To make this, have a blank (no fill, no stroke) square the exact height of your main tile, and add a corner of an appropriate style in the appropriate place. Add this to the pattern brush by dragging it onto the appropriate part of the brushes panel (probably the left square) while holding alt
.