I am formulating a MILP in which there is a continuous variable x and a binary variable $y$.
In the program formulation there are the following constraints: $Ay\leq x \leq By$ (with $0\leq A\leq B$). The idea is that $y=0$ if and only if $x=0$ and $y=1$ if and only if $x>0$ (this is used in other constraints).
However it may happen that $A=0$, in which case $y$ is not constrained to be $0$ when $x=0$. I've thus reformulated the left-hand-side constraint as $Ay\leq x$ if $A > 0$ and $0.1y\leq x$ otherwise. The $0.1$ factor is however arbitrary and has been chosen because in implementations it produced better results than other candidates (such as $10^{-2}$ and lower).
Still I'm afraid that this factor might depend on the scale of other parameters in the program, and I wondered whether there is a more robust way to implement $(x=0) \Rightarrow (y=0)$.