Uhmm la mia soluzione sembrerebbe + che semplice

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);

sembrerebbe che così non attende una risposta remota ma si fa i fatti suoi gestendosi con il tempo che imposto io indipendentemente dalla risposta remota.