TLDR: If you want to teach grammar to be able to test people, you need memorizing techniques. If you want students to learn grammar to be fluent THEY need huge exposure to the language so their subconscious can acquire grammar naturally.
As a native speaker of English, I'd like to add a consideration about your objective to Teach Grammar.
What is the goal of you "teaching grammar in effective ways"? To test the student on their knowledge of grammar? I am a native speaker and would fail pretty well any English Grammar test.
Consider mathematics. How does knowing the Formula (math rule) for the area of a circle help the student? They cannot calculate it in their head. How does knowing the formula (math rule) for a right angle triangle help the student calculate it in their head?
Answer: It doesn't.
Likewise, knowing a word rule (grammar) does not help the Subconscious form a sentence. To the subconscious, the rule of word order as expressed as a "grammar rule" in a sentence, is no different than a "math rule" - both are merely a sentence to be memorized.
How do I know: "Has anyone seen Tony" is correct and not "Has anyone Tony seen"? Because the pattern of words, heard repeatedly, imprints into my mind.
Same way in Dutch that "heeft iemand Tony gezien" just sounds correct and is correct while "heeft iemand gezien Tony" is wrong.
Sorry to tell you, but you cannot learn grammar in a fluency aspect by memorizing rules. Only exposure to the language gets you that.
The only thing memorizing a grammar rule does is allow you to consciously construct a sentence (and of course get tested on it). But that can be slow and tedious for a learner.
All of the above has been researched and published by Stephen Krashen.