In your opinion and experience. TIA
I wouldn’t go around thinking of people as A or B students, that’s not a very healthy perspective and really B students tend to do better than A students. And it’s not the grades you get, but the courses you’ve taken and the other commitments the student has that determines when to take the tests.
Not sure if this is a serious question, but I took the bait, question reminds me someone asking if they should retake SAT after getting a 1600.
The student should take the exam when they feel prepared for it.
If the student will be applying to colleges and universities that require an ACT/SAT score, than that student should try practice versions of both under test-like conditions to see if the relative score is higher on one or the other. Many students do perform better on one, and should just prep for that exam. It is nice, but not necessary, to take the exam early enough so as to have time to re-take if the student feels like it.
But first, sort out at least some of the college application list based on family budget and student interests. It is possible that the student might not need to take any standardized exam at all.
Grades are often squishy, elastic things that can mean both less and more than they (appear to) represent. Are the Bs in mid level classes? Is the student spread across school and heavy extracurricular activities. Is the school extremely rigorous? What grade/age is the student right now? ACT is generally easier , more straightforward material but the test is very fast–the SAT can be more harder, trickier but is more generous with time per question. Practice tests for both is a good first step.
For all high school students who may need them to apply to colleges (regardless of their high school grades), taking both the SAT and ACT in the later part of junior year would be desirable, since it means having scores to help make reach/match/likely/safety assessments on colleges being considered. It also gives an opportunity to retake the initially better one if desired.
A few students may want to take SAT subject tests for colleges that want them. For those students, reserving the last SAT test date of junior year for that is a good idea, in order to take those SAT subject tests associated with courses just being completed.
A student who may score very well on the SAT should take the PSAT in junior year to try for National Merit status, which can lead to large scholarships at some colleges.