I have a similar setup for my Swisscom connection. To get around the flooding issue I set up a second network on its own port and used that exclusively for the IPTV device. That way I could explicitly enable IGMP on that single port and explicitly disable it on all other ports/switch setups. Works perfectly.

I can share my config if required. I also run a scheduled script that checks the igmp-proxy status every few minutes and restarts it in case it is not running.