The proper way to do this would be to use a form of PF that evaluates to the guess rate whenever x = 0. That would be the Weibull or the Quick (these are really the same function just parameterized differently, see here:
https://www.palamedestoolbox.org/weibullandfriends.html). That is: Regardless of the values for a, b, and l, PAL_Weibull([a b g l], 0) will evaluate to g. Same for PAL_Quick([a b g l], 0). Similarly, you can use any other PF form but use log-transformed values for your stimuli. In case of Gumbel or log-Quick this would be equivalent to using untransformed intensities and Weibull or Quick respectively (see same page referenced above). Presenting a zero magnitude stimulus would then correspond to an intensity of ‘-Inf’. I’m pretty sure that you can use ‘-Inf’ in the PAL_AMPM routines (and many, possibly all, others) the same way you would use finite numbers (e.g., PAL_Logistic([1 1 0 0],-Inf) evaluates just fine to 0). The method of course would never choose intensity 0 (if using Weibull or Quick) or intensity -Inf (if using log transformed intensities) because no information whatsoever is going to be gained by that. When your guess rate is fixed anyway. But you can force the method to use 0 if you have a reason to do so (note to readers other than Matt who are reading this prior to release of version 1.11.3. ‘Coming soon: The ability to force the psi-marginal method to use the intensity you want to present!’).
The method you suggest is going to affect the estimates of parameters (if you’re using a form of PF that does not evaluate to the guess rate at x = 0).