How can pool operators reduce the number of orphaned blocks that they mine? Every time a pool mines a orphaned block, that is wasted effort for the pool.  

In an interest to increase pool efficiency and overall network efficiency, what can a pool do to increase efficiency when mining, and prevent orphaned blocks?

Some ideas may include


Polling other pools
Certain BIP technologies (etc)
Lots of things really, most are fairly abusive if they're a large pool though, or at least undesirable in network terms. 


Not including transactions in blocks. This is the obvious one, it's a lot easier to broadcast a single 25kB block than it is a bigger one. You do of course forfeit all the fees you would otherwise get, but some might see that as a tradeoff for an almost instantly reaching block. 
Multiple exits for blocks. Something that many pools already do, having exists in the Tor side of the network, along with multiple high-bandwidth nodes apparently has an effect. Curating a list of high profile nodes like nogleg.com and those based on .edu domains would probably allow for the fastest block propagation. Remember that you need to have enough bandwidth to submit to every peer you are connected to simultaneously, if you fill your pipe then your block is seriously delayed and has a greater chance of being orphaned. 
Building on orphan blocks. This is something I know at least one pool does, the concept is to build on your own orphans until they are at least 2 blocks buried. The chance of you getting a second block on top of the orphan is the same but the expectation of profit is double that of a normal block. The idea is essentially to orphan the block that orphaned you, and once the other chain gets higher than you by a sizeable amount this becomes a negative expectation and it's time to revert to the main chain yourself. 


There's no secret sauce really, just a combination of many factors. Orphans are fairly rare now anyway.