As simple as this sounds wildone, it has worked for me for decades. During my many years playing hockey I would occasionally grab some liquid dish soap, apply it to the shield and rub till clear.
Worked every time .. may be worth a try as it is quick and cheap.