The Marquardt-Levenberg algorithm fails in FIT whenever there is several (>~7) order of magnitude difference between independent and dependent variables. This "bug" can be overcome by scaling the offending inputs but implementation of auto-scaling or at a minimum, input checking in the FIT command would be highly recommended.
It is true that in some cases the difference in scale between independent and dependent variables is due only to scaling. However this is a special case of a more general problem, and auto-scaling without analysing the actual problem is likely to do more harm than good.
For example. looking back at previous requests for help and reports of fit problems you will find that one of the most common is an attempt to fit a simple curve to timepoints on x expressed as dates. Because dates are represented as seconds-since-epoch (1970), this means that the x values for recent dates are in the range 10^10. However, rescaling by a factor of 10^10 will not fix the problem at all. Instead the function being fit must by using a parameter substitution
x' = (x - t0)
where t0 is some time point relevant to the data set. Using the epoch date as t0 might work, but better would be using for example the start point of the data collection or a reference timepoint used for multiple data sets.
Similar difficulties with fitting other common cases can be solved by substituting x' = sqrt(x) and so on. But knowing which parameter substitution to make requires knowing something about the source and meaning of the data. This is outside the scope of what is reasonable to expect from auto-scaling.
So no, this is not something the program can automate.
Last edit: Ethan Merritt 2023-08-16
Thank you for your detailed response. Obviously case specific solutions cannot be automated; however, auto-scaling of all dependent and independent variables using their respective average values would accelerate convergence and, at least for a subset of cases, would prevent matrix inversion errors in the Marquardt-Levenberg algorithm. Given the advantages of auto-scaling, I am surprised that an option for auto-scaling was not implemented in the Marquardt-Levenberg algorithm. Why would auto-scaling "do more harm than good"? At least, it could be implemented as an option in FIT. This option would require the scale factor of each dependent and independent variable be calculated in FIT, added to FIT output and used internally in gnuplot by other commands, such as PLOT (otherwise the axis values of graphs generated with PLOT would not be correct).