Anyone that has used @cache_page with jquery's JSONP knows that it does nothing. The URL is different for every call, therefor nothing gets cached.
I suggest that a parameter is added to @cache_page which causes certain URL variables to be removed from the URL before the url is cached. I'm picturing something like this:
@cache_page(60 * 15, ignore_variables=('callback',))
Another approach is to allow the user to pass REGEX(s) to sub out portions of the URL. This will allow more flexibility, but is probably a bit overkill.