For students who are not learning English as a second language, many methods have been tried and discarded. A few years ago, the "whole language" method was in fashion. I'm seeing students who learned it when they were in elementary school and their writing and grammar skills are atrocious.
Spelling proficiency apparently went out the window when teaching phonics fell out of favor, and I'm seeing adults who were supposedly educated in good schools who have no spelling skills.
As old-fashioned as it sounds, sometimes, learning by rote is the best way to teach some skills. We had a list of sentences and had to identify the parts of speech of each word. It was preparatory to diagramming (which is also sadly, rarely used). What that did was teach how each word functioned in the sentence. When we knew that, we were much less apt to make grammar mistakes.
On the first day of school, my 11th grade English teacher passed out a list called "Twenty errors to avoid in formal writing." The top five errors were what she called her "hit list" and anyone making those errors would lose a letter grade on a paper for each one. She was a stickler for good writing and as frustrated as I was sometimes in her class, I value what I learned. It has served me well my whole adult life.