Any% and 100% Route
This fight can be done in many different ways, but here are the strategies that have worked the best for me.
In the first phase, there are three Whispy Jr.'s that pace back and forth, either puffing of jumping at the end of their walk. Each Whispy Jr. takes two hits, and the reason why double fire is so effective for this fight is that grazing over an enemy and hitting it is really easy with double fire's huge hitbox.
The left pattern starts with jumping, and while this video shows the strat where jumping is the second attack, the concept is the same when the second attack is a puff. The middle and right clips are the two patterns that start with puff. There are backups for these strats if you hit one too early, etc., but usually I just improvise. Finally, note that Whispy Jr. becomes vulnerable about half a second after the health meter fills up.
Ideally, you should end up near Whispy's face at the end of the first phase, since the first root that spawns during the second phase is directly in front of Whispy. This strat can get three hits, and since Whispy has 6 hitpoints, this will 2-cycle him. If you're standing to the left of Whispy (like in this clip), the roots will spawn in clockwise order, and vice versa. By switching sides after he attacks, you get to target the first and last roots that appear, instead of the first and second. While this doesn't save any time, the last root disappears 0.7sec after the second root, so the room for error is significantly larger.
There are two other strategies for 2-cycling Whispy Woods, but these should only be used when you kill the last Whispy Jr. far away from Whispy's face. The middle clip is slightly slower than the first strat, plus it requires you to fire at the right height. The right clip's strat puts you far away from the shard if you try it on the second cycle.
Besides just spawning roots, Whispy will alternate with apples. If he starts off with apples, this costs about four seconds. In between these attacks, Whispy can also puff, losing around a second each time that happens.