The haziness of an optical remote sensing image (whether from Landsat or any other instrument operating on the solar spectral range) is due to the presence of aerosols in the atmosphere. There is a generic process (improperly) called 'atmospheric correction', typically applied to remote sensing data acquired at the nominal top of the atmosphere (i.e., at satellite altitude), which aims at separating the contributions of the atmosphere and the surface to the total measured in space. There is an ample literature on this topic, and various standard software packages offer modules to implement this correction, more or less automatically. The following links (in no particular order) may be useful to you:
If you have the tools (and possibly the input data required) to implement such an atmospheric correction yourself, you will have full control on the process (but you need to know what you are doing, because over-correcting can also lead to negative reflectances in dark areas!). If you don't, or are not interested in that type of investigation, then you should acquire your images at a higher level of processing (i.e., after someone else has gone to the trouble of applying those corrections).