As an alternative, you can also use mulltiple shunt resistors either in series or parallel, and then switch some of those with MOSfets. Even SOT-23 Fets can switch multiple amps these days and can have a low Rds-on.
But whatever method you choose, you will have to deal with this resistance of the FET itself (which is both temperature and voltage dependent) and with current leakage.