Just like overbound, I think your idea is worse for both 2d and 3d. In a 2d game the homing attack shouldn't be there at all.
For a 3d game however I had a different idea to replace the homing attack:
You have the instashield that functions as a quick shield but also for a slightly larger reach in s3k.
I'd take the instashield but make it function a whole different way. Since it is hard to bounce on enemies in a 3d environment, i'd make an instashield for the 3d games with a larger reach than the 2d games. Hitting an enemy with the instashield would also make you bounce higher upwards than you would bounce with a normal spinning jump. Bouncing higher will give you time to aim at the next enemy and than you use the instashield again. The move cannot be spammed. After doing it once you will not be able to do it twice, only if you hit an or object you will be able to use it again. Not only would this fix the enormous reach of the homing attack but it would also prevent the player from spamming the jump button. Instead now you have to jump, aim and time the instashield at the right time, and than aim yourself again at the next enemy and time the jump button again and repeat(if there are more objects/enemies in the way)
This will require you to master it and become good at it. Too bad I cannot demonstrate it, but i'd like to know what you all think.