I've never been much of a fan of these names, but I'd choose
John if I had to. I very much prefer
Jack as a given name, but it's also nice as a nn for
Jackson, which I'm quite fond of for some reason (despite its apparent trendiness).
Jonathan, while it has a nice sound to me, just seems dated ... and
Jon without the -h- just confuses me.
I also really like
Shane. . . in fact, I prefer
Shane and
Jack to any of the other forms you mentioned.
hope that helps!