Hi Brad,
My guess is that this is due to reserved characters in Elasticsearch, as you have surmised - so the parse error is not unexpected. ES expects 2 double-quotes to be able to parse the query as an operator, and freaks out when it doesn't find the closing quote. Out of curiousity, do you have records that include a single double quote in the title?
I will ask a developer to take a look at this thread, but I am guessing that avoiding a 500 error would require development at this time - either you would need to sanitize the search (thereby possibly altering the results?), or add some kind of new Error page in AtoM that would be returned with more information, and whatever would be needed for the search query to be intercepted and redirected to the warning page before a parse error is actually caused. It's possible there are further changes you could make in ES itself (further analysers etc) that might better handle this case; I would have to do more digging around in the ES documentation to determine this.
Either way, I think code changes would be required to achieve a better outcome at this point. If you'd like me to get the developers to offer some suggestions, let me know and I'll get them on the thread to point you in the right direction.