VCard/4 always requires UTF-8, but VCard/3 and iCalendar resources may use other charsets/encodings than UTF-8.
So, the Content-Type headers should be parsed for charset information.
When sending, DAVdroid always uses UTF-8.
Maybe it is just magic but it looks like to work so far.
Just try by yourself to find corner cases.
I will add comments here if/when I find issues with this configuration.
Now I get it to work. Datetime formats where wrong. iCalendar.org validator did not detect these problems. I find this errors using severinghaus.org validator here:. It is based on same iCal4j library.
Please provide steps to reproduce, debug info and verbose logs.