Is there some rule of thumb to successfully distinguish stative verbs from nonstative ones?
The Aspect tag-wiki mentions three fairly reliable tests:
Events may be employed with the progressive construction; states ordinarily may not.
John is buying me a beer.
∗John is liking beer.
When employed in a main clause modified by a perfective when clause, events are understood to follow what is described in the when clause; states are understood to start before and continue during what is described in the when clause.
When I met John he liked beer.
When I met John he bought me a beer.
Events can serve as the complement in Wh- cleft constructions; statives cannot.
What John did was buy me a beer.
∗What John did was like beer.
Note, however, that I say 'fairly' reliable. Many verbs have both stative and eventive senses; and even those which ordinarily do not may be 'recategorized' by use in particular contexts or particular constructions. Be, for instance, is about as stative as you can get; but when it is cast in the progressive it has an 'activity' sense = 'behave':
John is being a jerk. = John is behaving like a jerk.
The Aspect tag-wiki gives some more examples.