How to run the bitcoin client so as to only accept blocks?
I believe what you would like to run is an SPV client.  If you are running a full node, such as Bitcoin Core, you wouldn't want to only get updated blocks without transactions.  The point of running a full node is to independently validate the blockchain.  Blocks can't be validated without knowledge of the transactions in them, so full nodes need to receive both blocks and their transactions in order to independently validate the blockchain.  Otherwise, your client would never know if a block contains an invalid transaction (such as more bitcoin in its outputs than inputs).

UPDATE:  As suggested in the comments by Pieter Wuille, the -blocksonly command line option (https://bitcointalk.org/index.php?topic=1377345.0) can reduce the bandwidth significantly.