Great solution, much better than my suggestion. Best to use 16-235 for the output.
You could check the loose min/max values for the chroma channels as well, remember to use 16-240 for them.
Edit: This probably won't work at all, the video is very unlikely to have 100% values for min/max U or V. I am not sure what should be done.. thinking in U and V is hard. Maybe do the range fix in RGB?