The best way I've personally found is interacting with native francophones. I use a French Discord server for that which is nice because it's free. But the immediate feedback while chatting will help too. Plus a lot of it will be in context for you because you'll be engaged in the conversation. For this I tell people to use the french you know, fill in the gaps with English and build from there.
Subject-verb agreement will come naturally from learning the verb conjugations.
Your 4 year plan if you include another language might be ambitious if your time stays split between learning french, the 2nd language, and school study. Someone who's only learning french can get to a C level in 2 years depending how much they study and how much immersion they do. But I think for the average person it'd take 4 to 5 years to be fluent. You seem like you have a good head on your shoulders so I think attaining B level in your time frame is possible.
The book of verbs I have is Barron's which I got from off Amazon:
https://www.amazon.com/gp/product/1506260640/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1
Maybe try using flashcard tools like the Beginner French app and the StartFromZero_French app to easily begin learning on your own some of the basic French words and phrases from scratch.