Full disclosure: I'm not a Harmony user or fan, but I know that Harmony is a favorite in the DIY space. I'll leave it to others to suggest exactly how to approach this using Harmony.
Yes, you'll want to use a "hub" system and you'll need to wire IR emitters from the hub to each of the units that you want to control via IR, otherwise you'll be running around pointing your remote at each item that you want to control or you end up with multiple hubs. The hub will have "ports" and you'll be able to send IR commands out through specified ports. This is how you will address the Visio's, DirecTV, and Onkyo's individually. As I recall, the Harmony hub offers eight IR ports, but you have at least ten devices to control. If Harmony allows you to control the DirectTV over the network (not using a port), you are fine, otherwise you'll need to add a port expander (allowing multiple emitters to be wired to a port). This expander scheme works well unless you attempt to control, for example, two Visio TV's from the same port. Having different brand devices on the same hub port works out because they will ignore each other's commands.
Regardless of the brand of remote, your challenge will be to create a user interface that is straight forward for the operator. Otherwise your only accomplishment will be to encapsulate all of the grief of managing multiple remotes into a single shell. You can use "macros" to issue a long list of commands from a single button press.