Warrior is generally the best for all the same reasons warrior is a good sub for every melee job. Noone will mock you for choosing warrior. Samurai lets you raise TP faster, but its not so good as to outdo warrior as a sub. Thief only lets you sneak/trick attack. You can't do this till 60+, so I wouldn't bother with it for now. I'm not even sure it's worthwhile at 60+. Dragoons are best used as a trick partner for thieves, since superjump removes all hate. If you have a thief in your party, having sneak attack and such is rather redundant. Warrior is still better. Monk lets you counter and gives you more hp, but all the hand to hand bonuses are a waste. You'd still be better with warrior. Double attack is pretty much the same amount of attacks as counter, and you don't have to wait to be hit first. Warrior has no unnecessary job traits. None of the other melee jobs are even worth mentioning.
Of the magic subs, the only one I've heard any positive comments on is White mage. Healing breath is useful sometimes, and I guess it's very useful in really specific circumstances that people have set up. If you have to take a defensive sub for healing breath, you might as well take one that can cast a statusna spell or a very last resort cure now and then. Redmage and Paladin don't give you anything whm doesn't that you'd actually use.