Hi,
I would like to be able to leave the battery connected to the microcontroller and still be able to charge it.
Easy enough, just implement the charge controller in the Arduino (with a few discrete components to handle the current), rather than adding a charge controller.