You just need to preload all string possibilites for the path on map initialization and it will never desynchronize. Once a string is made in WC3, it remains until the end of the map session.
You do still need to make the effect for everyone though, just you can change the model of the effect dependant on player. The reason for this is effects are a handle and any kind of handle creation or destruction outside of a few select types will cause players to desynchronize.