At a glance it sounds sensible, but I have no knowledge of C series. You say the mcu supply varies, but could you simply things by only doing battery voltage measurement when, say, running at 3V3. Do you drop to 2V0 to minimise power consumption? If yes, you maybe want to switch off VREFINT and use a fet to switch off the battery voltage divider, to save power.
Also, I would add 100nF at the voltage divider output to lower impedance seen by adc input.