Google Calendar actually does respect X-WR tags; it just didn't like the default one it was being given. Here are the full details I've learned, starting with the fix.
SOLUTION
Google just didn't like the automatic X-WR-TIMEZONE: EST
it was getting from the exported ical. I fixed this by by adding to my .emacs
:
(setq org-icalendar-timezone "America/New_York")
This caused my automatic org export to produce X-WR-TIMEZONE:America/New_York
and Google is happy and I'm happy.
FUTURE WORK & MORE INFO
Ultimately it would be nice to have fully standards-compliant output from the process. The problem is not in emacs' icalendar.el, but actually in org-icalendar-start-file
in org-icalendar.el
. The code for outputting the ical header uses X-WR tags. As of May 2014, I expect this will be fixed soon.