According to Bulbapedia, Heracross is in the "Group C" Headbutt encounter table for Route 47, which is set to always occur in the following trees (regardless of TID/SID):
Leftmost and rightmost trees at top of the east waterfall and the two upmost trees on top of the hill on the western side
I've tested this in my game and confirmed it works. Here is a map with the correct trees marked up:

You may need to headbutt the tree multiple times before it gives you an encounter. If you're seeing Metapod, Kakuna, Butterfree or Beedrill, you're in the right place as Group A/B never spawn those Pokemon. Heracross's encounter rate is 20%.