There is no way to tell the difference between normal and special trees. You just have to keep trying until you find a Pokemon that's special tree exclusive (like Heracross). I think it's the same trees every time and not randomly generated, but I don't know for sure, and I can't find anything online about it.
Also what route?
And what game? I'm assuming Crystal because you said you've found both Ledyba and Spinarak, and that's the only one that has both.
I am playing Crystal, and am on Route 34, which has only one Headbutt-able tree.