No one intelligent blames his reasoning, they hate how he did it. If you are going to let Cleveland fans (a fan base that pretty much had nothing to cling to outside of Lebron James in any of the major sports) down then try not to make a big spectacle of it on national TV and then the next day throw a parade like you already have won a championship. He admitted himself it was a bad bad mistake on his part.
On a side note, I guarantee you he loved playing in front of Cleveland fans more than he does Miami fans. Miami Heat fans may be the worst fan base in professional sports. Get off your butts and cheer, and what is with the empty seats.