There are alternatives. One trick is to get the chloride, sulfate, or nitrate into solution by using a compound other than the acid. For instance, adding sodium chloride to a solution of citric acid should make the citric acid more aggressive, and yet, won’t change the pH. (One reason for this is that FeCl3FeCl3 is more soluble than the iron citrate.)
[Wayback/Archive] redox – Acetic(vinegar) and citric acid as the rust remover – Chemistry Stack Exchange
--jeroen





