can you do a dummy virsh command to check if the hypervisor is available? just that the socket file is around doesn't mean at all that the daemon is actually up and running (it could be a leftover from a crash). 

I suggest "virsh hostname", but there might be even an easier command.