In my opinion, waypoints should not be laggy at all, with exception for those who actually cause an action (and they lag only if in large numbers), like "Get In" or "Get Out".
Technically you could make any waypoint not terminated, simply by making a condition that will never be true. The simplest way to do this is following:
1. Create a standard-issue move waypoint.
2. Create a trigger 0x0, activated by anybody once present.
3. Synchronize it with the waypoint.
4. Move trigger somewhere in deep ocean.
That technique works and is reliable, however, it might affect performance a little bit if in large numbers.
I think there are conditions in waypoint creation (I cannot test it, since my graphic card is "setDammage 1" and I am running on my reserve card, which does not support OFP), if I am right, then following is enough:
1. Create a waypoint.
2. Make a Resistance loon and place him way out of the mission area, so he might not be killed.
3. Name him ResLoon.
4. In waypoint condition write: "getDammage ResLoon == 1".
Not sure how that might affect the performance, though.