In regards to ships not doing what you want, the ability of the AI to execute orders can be highly dependent on fleet composition, fitting, as well as the opposition. Although it's true the move command is more of an "engage nearby enemies, and move in this direction if you're not fighting" type order.
I find avoid works fine, assuming the ships you want to avoid are slower than your own. Eliminate will certainly get the ship moving towards the target, but unless it's really a one sided fight and no where to retreat to, you kind of have to pay attention and know if and when to cancel the order (as the command will make the ship ignore anything but the target, and it's own flux levels).
I personally make liberal use of the escort order on larger ships, with small fast frigates/destroyers as escorts, as I find this means flanking frigates and phase ships have the escorts in between, resulting in the larger ship staying on task better.
When I actually issue timely orders, as opposed to just letting my fleet do it's thing while zipping around in a fast hard hitting flagship, I get significantly better results out of the ships. And even in that case I'll issue orders at the very start, setting up escorts, and initial move/capture orders, and then cancel the move/capture orders once ships are initially engaged.
A lot of it is just practice and experience in seeing how orders are actually carried out, or in personal piloting skills. Human judgement does make a lot more difference on fast ships, or ships with "go fast forward" mobility systems (burn drive, plasma drive), as the AI is bad at realizing when you can dive a target, or when to let it go because it's got too much support.