Eliminating single points of failure has a simple solution.
Keep your IPIP mesh with a higher route metric and add P2P links via another provider and gateway with lower route metrics, managed by a routing protocol.
e.g. I have the classic mesh up via a lower speed provider, and a L2TP tunnel to the german hamnet via a high speed interface, announcing my presence via BGP on that VPN and getting their routes also via BGP. If the L2TP tunnel fails, the BGP routes will disappear and the old mesh network will kick in providing the needed redundancy (another provider, another gateway). BGP is not necessary needed, any routing protocol will do, e.g. OSPF or RIP.
Just as simple as that. No need to drop the mesh, just add VPNs to it. And from the point of view of your partner subnet, you are also multihomed.