I think you could probably just point your DNS at Cloudflare to proxy your site through them; their service includes SSL plus some extras like caching and such for free. I've used them for a handful of projects and it's worked great.
I agree that the best option is for shared hosts just to build in support for LetsEncrypt.
Anything I can do other than not using S3?
(I'm probably understanding this wrong, but I'd like to understand why.)