I moved from offlineimap to mbsync (part of the iSync project) a few years ago and it has fixed most of the issues I had with offlineimap (mainly high resource usage).
Edit: Arch seems to suggest running mbsync under a global systemd unit - user units are more appropriate for this task - my units can be found here: https://github.com/rdark/systemd-user-units