Others may see this as a waste of network resources perhaps.
Why? It's the same total amount, isn't it?
Btw, even is sequential download I select peer to send getheaders randomly - this way I create more even load on peers. After I got headers, I can get blocks using getdata or getblocks with much better control.