goog.json.parse and other functions requiring eval() can be made to work in chrome extensions without modification (in content scripts or otherwise) with manifest v2 by tweaking the content security policy:
{
"manifest_version": 2,
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",
...
}
This is how I debug content scripts (refreshing on page reload) in conjuction with Plovr, albeit admittedly not uncompiled. I use SIMPLE_OPTIMIZATIONS, so apart from this manifest.json tweaking my advice won't help.
For information's sake: Message-passing is used to ask the background script to load the script pretty-printed and compiled with simple optimizations via XMLHttpRequest, and pass it back to the content script, which then eval()s it in the context it's naturally assigned. I based my solution off Michael Bolin's chrome-extension-template[1], which uses short-lived messages (I use chrome.extension.onMessage rather than chrome.extension.onRequest).