THOR might be a good alternative, but the A* algorithm OsmAnd uses is just fine.
I agree that OSRM is too limited due to its inflexibility.
It is the implementation of the A* algorithm in OsmAnd that is wrong (from my point of view). OsmAnd is literally the only app that uses a heuristic coefficient of 1.0 thereby increasing both memory usage and calculation time extremely. And it sometimes even calculates the wrong route (due to over-optimization?).
I use a heuristic coefficient of 1.25 or 1.3 which makes the calculation 3-4x as fast!! and I can calculate routes up to 2000 km (less memory usage) where I could calculate up to 800 km (1.5GB memory in my phone) . And routes were never worse and in some cases even better: faster and shorter!
With that configured the route calculation is still not the fastest but completely acceptable.
There is only one disadvantage: deviating from the default 1.0 in OsmAnd makes that blocked roads (by users themselves for whatever reason) are no longer recognised. I assume that is an omission in OsmAnd. I can't consider it a bug as Victor developed OsmAnd for that hc=1.0 (but I still I think it is a bug :) as other A* algorithms apps have no problem with that).
Next to that: OsmAnd knows speed penalties for traffic lights, speed bumps and the like. It seems that THOR supports that too (dynamic run-time costing) but is not yet implemented, but maybe I'm wrong.
The other reason for me for not using OsmAnd for car navigation is the slow rendering of the screen.