Pues es por tu seguridad .. si te molesta eso, desactiva los mensajes de error usando la función: error_reporting() .. pero que sepas que los errores estarán ahí mismo, sólo los "tapas". Tus archivos de registros de errores de tu servidor igualmente seguiran generando esa entrada de error en sus log's ..
Programa bien aunque te sea un fastidio.
Puedes automatizar un poco el proceso teníendo en cuenta que los "superglobal" son arrays .. así que puedes recorrerlos con bucles como foreach() para aplicar un isset() a cada elemento que lees e incluso crear una variable de mismo nombre usando "variables variables"
Código PHP:
foreach ($_SESSION as $variable=>$valor){
if (!empty($valor)){
// "variables variables": crear una variable dinámicamente si tiene valor.
$$variable=$valor;
} else {
$$variable='';
}
}
Un saludo,