Heracross never knew Scizor was he was still a Scyther. Scizor is the result of a trainer trading him to another trainer without realizing that he would evolve immediately afterwards. When Scizor's new trainer discovered him in this new form, he was really disappointed and left him in the Poke Centre. Scizor, although alone and feeling abandoned, did not put himself up for adoption, and instead decided to venture on his own. He met Heracross in a forest, as a baby, trying to dig a hole in the ground as a hoard of hungry Rattata's nipped at him and tried to pull him out. After saving him, the Heracross kept following Scizor around, despite all his attempts to lose him. Eventually, Scizor gave in and allowed him to join him on the adventure. "As long as he doesn't get in the way"
This is what Heracross looked like when they first met:
He's a bit of a runt and is significantly smaller than others of his species.