Why are LEGO sets put in such big boxes?
Actually TLG are listening, and in fact are replacing boxes with smaller ones right now as we speak.




  These new boxes will have a FSC (Forest Stewardship Council) certification “which lowers the CO2 impact of its packaging by about 10%.” You will be able to start seeing the smaller boxes this year and by 2015, all of the products will be in smaller boxes. With this change, LEGO will save about 4000 tons of cardboard which is about 18% of their current consumption. These new boxes will come from sustainable forest so less trees will have to be taken down.
  
  [...]  LEGO is also involved in other plans to lower their carbon footprint. About 25% of the emissions are from manufacturing of the bricks themselves so they’ve made plans to mold the bricks more efficiently. The company also has invested in wind energy to improve their energy consumption. 


Emphasis mine. 

Now, as to why the boxes were huge in the first place, I can't tell. I heard all kinds of theories over the years, from "so the parts have room to move and don't get damaged" to "it looks more impressive on the shelves". But as this recent move demonstrates, all these reasons could either be worked around, or were negligible to begin with.