Presumably from batty (“crazy”), itself from earlier have bats in one's belfry, from tendency of bats to fly around erratically. Possibly influenced by or derived from apeshit, particularly in phrase go apeshit.
- (slang) Too irrational to be dealt with sanely.
- Don't take any courses from that professor. She's completely batshit.
batshit (not comparable)