How to determine if a remote node prunes? Is there a way to determine if a remote full-node prunes its blocks (i.e., if it doesn't store the entire Bitcoin blockchain)?
Yes. The client unsets the service bit NODE_NETWORK when pruning. 

You could also try to request a block.