Yeah, if you're looking to upload a big SQL dump via HTTP, it'll almost always time out on you. (In my experience, anyway).
The best/cleanest way to do it is to upload the raw dump itself via FTP, and then import it using a shell. That way, your backup file is on the server, as is the new database that you're importing your data into. No timeouts, and it's a one-liner command.