Why do some outputs have a zero value and no address?
The outputs have no address because they are data-carrying outputs. 

  {
     "spent":false,
     "tx_index":80899271,
     "type":0,
     "value":0,
     "n":3,
     "script":"6a144153435249424553504f4f4c5245474953544552"
  }


The script argument is the serialized equivalent of 

OP_RETURN 4153435249424553504f4f4c5245474953544552


(The hex decodes to "ASCRIBESPOOLREGISTER")

OP_RETURN means that all attempts to spend this output will fail. This can't be spent, so there's no point in putting money in it - it would just be lost.