Use a few ohm shunt to maintain reasonably low burden voltage at full load and provide as many parallel amplifier-ADC paths with different gains as you need. That's probably going to be 2, and only the low gain one needs to be fast and only the high gain one needs µV precision, which isn't even the worst situation it could be.
But make sure you clamp the high gain amp to prevent it saturating if the overdrive recovery time could seriously impact the accuracy. ([EDIT 3] For example, the 2MHz auto-zero MCP6V26 has a recovery time of around 50us). How big a problem that is depends on the threshold level where the high gain range becomes active and the frequency that the range changes. In cases, such as IOT applications, where an MCU spends much of its time, op-amp saturation wouldn't be much of a problem as the recovery time is insignificant compared to the total time spent in sleep mode.
This single shunt / multiple amp scheme works well for capturing rapidly rising current levels however. Ultimately the dynamic range will be limited by the maximum shunt voltage that can be tolerated and the noise performance of the highest gain amplifier. Assuming 100mV max shunt voltage and a very low noise amp, LT1028, is used. Further, assume a measurement bandwidth of 20kHz for which the amp noise is around 700nV peak to peak. The dynamic range is 100mV/700nV = 143,000:1 giving a resolution of 7uA for a 1A max current range.
Of course you can drastically reduce the noise bandwidth if the measured current remains in the low range for relatively long periods by using dynamic filtering in the MCU. The limit then would be the amp's flicker noise - 35nVpp for a single LT1028 0.1 to 10Hz, or 350nV resolution for 1A max. Further improvement could be achieved by paralleling op-amps or using very low noise bipolar transistors such as the ZTX951. Fortunately, the relatively high current noise of bipolar amps isn't a problem in this application with the very low source resistance of the shunt.
[EDIT] Thermal EMFs of the shunt and the connections to the amplifier, probably of the order of a few uV/C, are more likely to be the main limitation to dynamic range unless you have some way of calibrating or offsetting them out which is tricky, if not impossible.
[EDIT 2] Self heating of the shunt can be a significant additional error source depending on how long the current spends at higher levels, but at least you have the option of arbitrarily increasing the thermal performance of the shunt and selecting a shunt with very low temperature coefficient.