Digital Ocean has become quite a competitor (and I have a box with them now for a staging environment) but the fact that they do not provide a private/internal network between your boxes is something that I can't live without. I like to keep app servers and db servers isolated from the real world by one box in front of all of them ... which is not something you can currently do with Digital Ocean.
I love Heroku's platform and think they've done some amazing things for our industry, but I don't agree with any of their recent PR moves. Linode, on the other hand, has never stirred up drama or bullshit since I have started working with them. They're straight shooters and this gives me a great deal of confidence.
I had a personally hair raising experience this weekend trying to migrate a smaller server that kept swapping over to a larger one without too much downtime. I was able to do this pretty painlessly but man I wish I would have waited just a few days for this!