Typically the issue with CEC is that the devices automatically switch to the proper inputs, then harmony changes the input, unaware that it's already been done.
There are some possible workarounds.
First, if it's possible to use method 2 (discrete inputs), that will solve the problem. CEC picks the right input, then harmony sends a discrete input command which has no effect. Unfortunately, not many Vizio's have discrete input commands, so this likely isn't an option.
Second, if you can rely 100% on CEC switching the inputs properly, then you can simply take all input commands out of the equation by learning bogus commands on top of them. For example, on top of Vizio's input command learn some other command from some unrelated remote that won't have any effect.
Third, get a different remote. Harmony works well without CEC but not very well with it because you have no control over the content of the activity macros. Most other universal remotes give you full control over the content of macros. I use THIS
Xsight 12G in lieu of the 650. Not only does it give me complete control over all my macros and works perfectly with CEC, but also has 12 device capacity rather than just 5, and the sequence macros are not limited to 5 steps and can have press-and-hold durations for each command.