Can't decide between Moto X, Galaxy S4 or HTC One

I need help deciding what phone I want to get!

So first a little background information. I'm from Canada so I can't get the google play editions nor can I use moto maker. Right now I have an iPhone 4 on MTS and I'm probably going to switch to Rogers. (MTS has probably the worst selection of phones a carrier can have... Like it's seriously it and have a bit of a laugh)
And this doesn't really matter but this is my first forum post.

Now on with the phones. As the title said, I can't decide between the Moto X, S4, or the HTC One.

I like the Moto X because of the almost stock android, but I'm not sure about the 720p display, (and the camera, I'm pretty sure I have heard good and bad)

I like the hardware/look and feel of the HTC one but I'm not sure about the camera and Sense.

And I like the micro SD of the Galaxy S4 but I don't like Touchwhiz.

Also Moto X 16gb is $149.99 with 2 year contract HTC One is 129.99 32gb with 2 year contract Galaxy S4 is 99.99 16gb witch 2 year contract

So if i can get any help as to pros and cons of each phone and which one you would prefer that would be awesome, thanks.