My testing showed that JS is delayed until all iframes are loaded. This can take several seconds when there is even a small number of pings to execute. No header manipulation was successful at reducing the load time.
Here's a patch. It removes the iframe and runs execute-pings.php asynchronously by calling fsockopen with a timeout of 0.01. This is done by a function spawn_pinger that is called within wp_insert_post() and only when post_status=='publish' and pings are on.
An added benefit is that spawn_pinger will be called for all post saves and edits, including bookmarklet, sidebar and xmlrpc. Previously, any posts published or edited via these methods would not be pinged until someone with the authority to edit those posts logged in and used the admin screens.
It also fixes a bug: an attempt to repeat a trackback would cause that url to remain in to_ping indefinitely. It also trims to_ping after each update to eliminate unused spaces.