Самая важная часть состоит в том, что вы различаете входные и выходные переменные:
$input['a'] = '';
$output['a'] = empty($input['a']) ? '' : substr($input['a'], 0, 1);
echo $output['a'];
То, как вы пишете проверку, является вашим делом, оно должно учитывать все крайние случаи и не должно вызывать каких-либо ошибок / предупреждений.
Редактировать: Если вы хотите уменьшить количество вызовов функций, в следующем фрагменте не используются никакие функции, только одна языковая конструкция:
$a = empty($a[0])?'':$a[0];
echo $a;