There hasn’t been progress on this as it seems, but I am having this problem too. For some (not all!) of my contacts, especially those which I call a lot, the image quality degrades over time. I am using Horde 5.2.10 with DAVdroid to 0.8.4.1 on a OnePlus One with Android 5.1.1 (Cyanogenmod).
I’m using DAVdroid on Android 5.1.1 (Cyanogenmod) with Radicale at the moment.
So to me this looks as if DAVdroid is downloading the image from the server, and then upon syncing (maybe because something else in the contact got updated?) it re-compresses the image, thereby degrading quality, instead of just uploading it as-is. Could that be what’s happening?
No. You can look into the DAVdroid source code:when downloading a raw contact photo, it puts the photo into the PHOTO blob; when uploading a raw contact photo, it takes the high-res photo from the Contact provider.