要はその間に通信をし続ければいいんですよね
いくら巨大なファイルをダイヤル回線みたいな細い回線でダウンロードし続けても
進捗がある限りタイムアウトっておきないじゃないですか

ZIPをストリームで送る
処理中にレスポンスをストリームで少しずつ返してそれをJS側で進捗とみなす
非同期にしてレスポンスはすぐ返し、ajax で polling して進捗を返すAPIを追加する

のどれかができれば可能だとは思うんですが
どれもが Rails + IE っていう制約だとなかなかうまくいかなくて…