Use a white noise gain constraint on the filter coefficients, which is a quadratic inequality constraint. When you have sources in the main beam that are not exactly on the unity gain constraint, the filter coefficients get large. You can control the magnitude by diagonal loading the covariance matrix. There is a full derivation in "Detection, Estimation, and Modulation Theory, Volume 4, Array Processing" by Harry VanTrees. It solves the problem but I'm not aware of a nice online algorithm. There is a paper by Cox and Zeskind that has an online algorithm but it isn't optimal no matter what Harry Cox thinks.
Another approach people use is to use a direction finding algorithm prior (before) to set the unity gain constraints (actually LCMV ) and then beam form. I prefer the white noise gain constraint.
Bob Zeskind suggested using an unmodified MVDR but forming about 3 times as many beams as you would in a conventional beamformer in a conversation I had with him. It's not elegant but does seem to have uses.