Davdroid (latest version from fdroid) works like a charm apart from one issue:
It has battery eating wakelocks when using periodic sync.
I have two servers I want to sync with, one at home and the other at the office. So naturally at max one of them is available or while on the road none.
When I switch on periodic sync (every 2h), this results in partial wakelocks from davdroid leading the list (as checked with BetterBatteryStats).
So for now I sync manually, but ideally I would like to sync automatically under the hood.
No idea about the internal architecture, but would it be possible to change the way servers are contacted to make it less battery/resource intensive for unreachable servers?