Feedback/Advice on MOSFET circuit

I agree with MarkT that your current circuit is flawed. The Arduino will not be able to turn the mosfet off in that configuration unless the charging voltage is only slightly greater than the battery voltage. I suggest you use a circuit with high side switching, similar to the one you posted, but add a mosfet driver chip between the microcontroller output and the mosfet gate (TC4420 will do if the charging voltage won't exceed 18V). You can add your shunt and current monitor between the capacitor and the battery +ve terminal. Alternatively, if you don't need a common ground, then you can put the shunt in series with the battery negative terminal, and use an op amp to amplify the voltage drop sufficiently to feed into an Arduino analog input.