One aspect that really doesn't help that argument is that Hamlet can see his Fathers' ghost. Welp, he's either insane or just plain demonic. Although the Ghost is most likely not real. I mean there have been instances where someone looses someone they care about deeply and ends up hallucinating that they are still with them. "Temporary insanity" as they like to call it. So it is very possible that the Ghost is a figment of Hamlets imagination. He could have had a hunch that something was deeply wrong and needed some type of reassurance. All the Ghost did was tell Hamlet to do what he already felt compelled to do. He proved the King and Queen guilty and would avenge his Fathers death.
Had Hamlet been insane, I really do not believe he would have been as sneaky as he managed to be. He was extremely deceiving. He let others believe what they wanted to believe about him. He created a play just to see the King and Queens reactions to prove if they were guilty or not. If he was insane he wouldn't have had a plan. He planned his actions perfectly to each scenario. He knew what he wanted and what he needed to do. He simply needed to know that he was right.
Hamlet also had a conscience. He was a god-fearing young man. He was aware of his spirituality. He was scared of purgatory and of hell. He always questioned his motives before he did something. Hamlet just needed to decide if it was worth it. He was anxious to have to kill someone. He didn't know if he could do it. I'm not saying insane people are all so bloodthirsty but isn't it quite normal to feel sick about killing someone even if it is for the right reasons?
So all in all, it is quite possible that Hamlet could be crazy. He could be going through "temporary insanity" due to his Fathers' death. I just don't quite believe it. He's too smart and cunning to be crazy. He may be young and he may have a very disturbed family but I firmly believe he's not fully insane. He knew exactly what he wanted to do, what he had to do, and he's going to do.