I would argue that Hamlet is actually resolute in his inaction. As soon as Hamlet decides to believe the Ghost's claims that Claudius murdered him (King Hamlet), Hamlet is bent on revenge for his father's death. He wants to find the perfect opportunity to murder Claudius and doesn't rush to action; instead, he carefully crafts his plans.
Hamlet takes action when he decides to stage the play within the play. He carefully crafts the plot so that he can analyze Claudius's reaction and finalize his plans in dealing with him. When Claudius reacts just as Hamlet expects and with a seemingly guilty conscience, Hamlet again chooses not to kill him when he finds Claudius praying. According to his beliefs, killing a man in the midst of prayer sends him directly to Heaven, and he certainly doesn't want to reward Claudius in the afterlife for his crimes against Hamlet's father (his own brother). Hamlet's choice to wait here shows his resolute will to properly avenge his father's death.
Hamlet also takes action by creating a fake persona of madness to throw everyone off track. He plays with words, toys with Ophelia's emotions, and even engages in a passionate argument with his mother that leaves everyone questioning his mental stability. In great part, these displays seem to be a calculated effort on Hamlet's part to create the space he needs to further his plans for Claudius without coming under too much suspicion.
In act 5, scene 2, Hamlet discovers a sinister plot against his own life:
My sea-gown scarfed about me, in the dark
Groped I to find out them, had my desire,
Fingered their packet, and in fine withdrew
To mine own room again, making so bold
(My fears forgetting manners) to unseal
Their grand commission, where I found, Horatio—
O royal knavery!—an exact command,
Larded with many several sorts of reasons
Importing Denmark’s health, and England’s too,
With—ho!—such bugs and goblins in my life
That, on the supervise (no leisure bated,
No, not to stay the grinding of the ax)
My head should be struck off. (5.2.14–26)
Hamlet's reaction here isn't inaction; instead, he quickly puts a new plan into motion. He switches this letter with a new one that he composes instructing the king of England to kill Rosencrantz and Guildenstern (the bearers of the letter, spies working with Polonius and Claudius against Hamlet) instead.
Although Hamlet delays his plans to kill Claudius, that in itself isn't a tragedy. In fact, his desire to ensure his plan is successful shows resolute strength as he sets small pieces of his plan in motion over several acts.