I can't use an op-amp inverter, because load resistance will be variable, which makes fixed unity gain impossible.
But you can, and you don't need to worry about "fixed unity gain". You can use one (1) inverting op-amp per signal:-
a) one to sense the voltage, and
b) one to sense the current.
In fact, the situation you have here is perfect for op-amps - and you won't need a negative power supply, you can use the same supply as for the ADC & MCU (+5V); provided you keep the output of the op-amps below 5V.
The schematic below shows the idea. Consider V2, which is the voltage of the shunt resistor, R1. When your "old power supply" Vx is supplying 30V to the load, this voltage will be negative wrt GND, and will be scaled at 0.5V per amp of load current (Since R1 is a 0.5ohm resistor). This is easily converted to a positive voltage by an inverting op-amp, U1, and then scaled by the ratio R7 / R8 - in this case, the scale is 1, so 1A of load gives V2=-0.5V which is converted to +0.5V by U1. You could make R7=200k ie: twice R8, so that the scale factor is 1A per volt, ie: 1V at U1 output represents 1A of load current. Adjust R7 and R8 to suit your particular requirements, just be sure to keep the value of R8 much higher than the value of shunt resistor R1 (so that the current in R8 is negligible and does not adversely affect the accuracy).
Now consider V3, which is the voltage of the output of the power supply. We can remove R2 (200k) from the circuit, and connect R3 directly to U2's negative input. R6 converts the current flowing in R3 to a positive voltage that is proportional to the current in R6. Since the negative input of U2 is a "virtual earth" (so is the negative input of U1 for that matter), then the current in R3 is directly proportional to the voltage at V1. At 30V, R3 current is 30uA. This current flows in R6, which then sets the voltage at the output of U2. At 30uA, the voltage across R6 will be 3.0V, meaning that U2 output is one-tenth of V1.
The simulation result (below) shows what happens when load current (current source I1) is swept from 0A to 1A. The horizontal axis is load current (current through R1).