This is what I do to fight him...
The first time you fight him:
I always put on Physical Shield to start, that way you won't get knocked down. When he's behind the energy barrier and the minions attack you, as well as after he emerges from the barrier, I use Berserk. Every regular hit you deal with Berserk is equal to a flourish, which is unblockable (Jack will block everything except a flourish and rush away,) so just keep hitting Jack like that and he'll rise up in the air after half a dozen hits.
Once he's up in the air, draw your bow (I always have Skorm's Bow,) put on Slow Time and Multi Arrow (by this time I have both maxed out) and with a full draw, it only takes 2 hits to kill him. With Slow Time on, his devastating attack won't drain your mana as fast, I don't even bother getting behind one of the stones, I just use will potions to replenish my mana. These combined techniques make him one of the easiest bosses in the game, he really doesn't stand a chance
The second time you fight him (TLC):
It is a bit trickier to fight Jack as a dragon. Sometimes I don't know whether it is easier to use Physical Shield or not since a couple of Jack's attacks drain ALL of your mana in one hit, like when he sprays flames at you and you can't dodge them in time, or when he's on the ground and he chomps at you. Usually I just have it on and keep refilling my mana with plenty of will potions.
But when he's on the ground, definitely put on Slow Time. You can hack and slash at his head with a strong melee weapon, probably with Berserk on, or use your bow with Multi Arrow on. If you're quick when he's hovering near you, you could get a shot in with your bow, but I'd concentrate more on avoiding his particularly devastating attacks and fighting the other enemies that pop up.
The ease or difficulty of the fight is pretty random, it depends on how many times he lands on the ground. I've had the fight last less than a few minutes because Jack decided to land a lot (you really only need him to land twice to beat him.) However, I've had fights last almost 10 minutes because Jack did nothing but fly over and attack before he decided to land again. But by the very end of the game, you should be maxed out and well-stocked, so this is really only an annoyance and Jack's defeat is inevitable, so just hang in there.