Source switch between two batteries
There are chips that will do this. Linear Technology make at least one. Anyway, the problems with your circuit: -


The diodes will drop maybe 0.4 volts to 1 volt (diode dependant and load dependant) so you are making the problem even worse using this technique.
Even if you could find zero volt drop diodes (hint: as rare as unobtanium) the MOSFETs aren't really bringing anything to the party because the diodes would "sort out" which power supply is the "winner" based on highest voltage.
If the mosfets were a good idea (which they don't appear to be) the gate voltage has to rise above a the source voltage by a few volts to adequately turn it on and, given the source is at 4.1 volts, it's unlikely but that's what the hot swap controller chips do - they have an internal oscillator and voltage shifter that produces an internal supply that is significantly higher than the incoming battery voltage.


So, my advice is look for hot-swap controller chips. Here's the sort of thing I mean: -



And here's another: -



There will be logic pins on these controllers that allow the use of an external voltage comparator so that when one power supply drops to a certain limit, the other power supply can take over.