Esos errores son difíciles de manejar ya que en realidad el error no lo produce PHP si no el webserver (que precisamente mata al proceso de PHP por timeout).
Mi recomendación es que uses un profiler (
XDebug por ejemplo) para tratar de hallar el cuello de botella y resolverlo.
El candidato más típico es alguna consulta mal escrita pero en realidad puede ser cualquier cosa.