I was thinking that since ERPNext is already running on a server, perhaps the trick would be to run a dedicated Calendar Server (Events and Reminders) and Contacts as well.
Radicale, is an option that could be integrated…
I am working on finding out ways to get this up and going, so that not only is Google Calendar Sync enabled, but supporting any device such as Android or iPhone.
You may want to see what NextCloud (Owncloud) does in this respect as in their recent versions a calendar and contacts synccable to Android phone etc via caldav, cardav are all present.
I dont really know if looking at nextclould would really help this issue. Their code is PHP and while we have a few clients using and it works well i think something like radicale would be a better option. It is python the only thing that would have to really be solved is the reverse proxying the server as it most likely will want port 80 or 443.
Google calendar integration is working very well in Odoo 10.0 (I checked on CE 12th Dec 17 built).
I’m not a coder so cannot help much, however since Odoo is also in Python and reply on apps for functionalities, it might be relatively easier to adopt the approach/code to ERPNext.
Although I think ERPNext really needs a way to sync with Google calendar, I think that implementing CalDAV, CardDAV and WebDAV is the way to go instead of a dedicated Google Calendar connector, as this will be far more versatile and will also allow synchronisation with Outlook, Thunderbird, Ios, Android, etc. The suggestion of using Radicale for this looks interesting. As I’m not a programmer I have no idea how difficult it would be to connect ERPNext to Radicale.