Applying a window function to a speech signal
I don't really understand what "apply a suitable windowing function" "prior to the STFT" means. Most STFT implementation incorporate apodizing windows. And the best is always related of some cost function, objective or processing.  

Note that there are people called Mr Hanning, but they are not (AFAIK) at the origin of the raised-cosine or von Hann window (Julius von Hann, Austrian meteorologist). You can find a mention at page 97 from the book  The measurement of power spectra from the point of view of communications engineering (archive.org), 1958, by Blackman and Tuckey. Noteworthy, they spell hamming and  hanning in small letters.

Hamming or Hann windows are very standard. $50\%$ or $75\%$ overlap are common. In  the recent works I know of, especially for blind source separation,  people often use at least two window sizes: a shorter one for transients, and a longer one. 

This is a first step toward using different windows depending on the scale of observation. Some have used a multiscale context, such as in the
ERBlet non-stationary Gabor filterbank, ERB for Equivalent Rectanguar Bandwidth, with a constant-Q transform:



Some have been using asymmetric windows, better suited to the skewed shape of speech onsets (see eg Using asymmetric windows in automatic speech recognition). 

The choice of the best windows, to me, even for speech, is not  clearly settled.