This year I had hardly any March SAT students*; everyone signed up for the May SAT instead. I'm juggling 20+ students and so far most of them have had to cancel at least one session, and only two are consistently completing their test prep "homework." Now I'm not one of those companies that makes you pay for your sessions whether they happen or not, and if you don't do your homework, there are no repercussions. However, most of these students will not do as well as they were hoping to do on the next SAT. Instead of being finished with testing in spring of junior year, many of them will elect to take an August or fall test as well.
Often this can be avoided with a little bit of planning, so sophomores, listen up! When you are a junior take the January SAT at the latest. If you have already completed precalculus, then a junior year fall test is even better. Your scores will come back by the first half of February. If you will need to retest, sign up for the March test. I know it feels like you will have more time to prepare if you push the test out until May, but that is an illusion. Not only will April be too busy to devote the time to test prep, but you will be distracted by other things and you won't study as efficiently.
As for the ACT, a lot depends on when (or even whether) you take precalculus. North Carolina juniors in public school will take an ACT in February or March. If you decide to retest, you will need to consider whether to take the June or July test or wait until September.
*This year sleet and freezing rain pushed the January SAT to February 16. Scores didn't come back in time for students to take the March test. "The best laid plans..." It was a good reminder that postponing all testing until senior year is dangerous because you never know when some outside event will come along to wreck your plans.