I remember being stuck in that battle for a looooooong time. -_-
What I did was spam sleights relentlessly. Don't worry about not being able to reload the first card. Dark Firaga works particularly well if it hits Zexion, but anything goes, really. And always use your sleights to break his card and do this as many times as possible, because once he has stolen enough cards from you, he'll start making clones of himself.
And keep your 0's handy to break that card-snatching twister attack that seems to last forever.