For me the most effective way of learning is passive immersion with comprehensible input and relevant level active output. How I use bunpro to aid my learning approach, I detailed in an earlier comment.
For passive immersion of comprehensible input I use podcasts for audio, for my own level and preferably podcasters of my own gender, societal status and background.
For audio fun, I watch “real-life” jdramas, that is, not fantasy, not sci-fi, not historical as language usage differs from modern/average. I am trying to watch specific themed jdramas only if they intersect with my professional background, those are still super hard.
And I read a lot, I love reading. For that, I use lingq due to ease of use.
After the jlpt few weeks ago, I slowed down on bunpro, now I do one new grammar element per day and I immediately try to find it in the immersion I do paralel.
If I would start learning another language, likely next year either French or Korean depending on factors beyond my control, I would use the 20/80 principle to lay a strong grammar and vocabulary foundation in the beginning (plus hangul if Korean), to have the basics down quickly and build on that. For grammar, I would select a solid course book, preferably something that runs from elementary to advanced. Vocabulary anki, reading and listening using the same platforms as now.
I could not use this approach for Japanese as had a lot of random elements of the language already and going back consciously to the basics now is a waste of time and effort considering the possible gains. Since I wanted to do the jlpt, bunpro seemed a good choice to review and solidify grammar points due to the very specific nature of the test.
The part where I can implement the approach which seems effective to me are the kanji, I learn those separately, and while it seemed futile in the beginning, now things start to fall into their place as a I progress. This is specific to the Japanese language.