As I understand it now, all transactions are re-transmitted when a new block is found. Is it possible in Monero to implement something similar to compact blocks, and if so is there a timeline for their incorporation?
Yes, absolutely! Compact blocks is about the most sane scheme we've seen, and we'll likely implement something exactly like that.
For those that don't know how it works, the basic idea is that your node has likely already received most of the transactions in a newly mined block. So instead of receiving them all over again, a node will send the block header and a list of the transaction hashes in that block, and then your node can just ask for any transactions that it doesn't have.
This massively reduces bandwidth (in a hypothetical future where we have lots of transactions per block), but doesn't do anything to speed-up syncing from scratch or catching up to the rest of the network.