How to exclude current node from a block view?
One option is to clone the block, make it show everything (remove the contextual filter and the exclude setting) and in block configuration (via admin/structure/block) configure it to show on all pages except node/*.

Another option, if you want to have everything in one display and don't mind using php, is to use Provide default value > PHP code:

if (arg(0) == 'node' &amp;&amp; is_numeric(arg(1))) {
  return arg(1);
} else {
  return 0;
}


The exclude checkbox must be on.

So this is giving the sql the node id to be excluded, normally the current node id, and when there is no node id, the node id to be excluded is 0, in other words don't exclude anything as there is no nid 0. 

Without checking that the second argument is numeric, this wouldn't work on the default front page as it would have 'node' but not have nid.