I've came up with this solution, which should cover most cases:
When you call GSX Boarding and it's time for GSX to set the Payload, it will check the current ZFW and, if it's already very close to the planned one (I'm using a 10 kg threshold tolerance), the automation will be skipped, so it should cover all cases where the Payload has already been set, either because you used the EFB, or if you entered it manually. The only thing that might be tweaked, if it's ok to use 10 kg as a threshold to decide if the Payload is already set, to trigger skipping GSX setting the payload.