The 30-year-old entertained his home crowd with an aggressive innings, smashing 17 fours and four sixes, scoring at almost a run a ball.
Resuming on 86 for 1, Australia reached 332 for 8 by the end of second session in reply to India’s 180.
Head’s flamboyant knock overshadowed Marnus Labuschagne’s gritty 64, which helped steady the innings after three morning-session wickets.
Jasprit Bumrah (4/59) and Mohammed Siraj (2/95) led India’s charge, with Bumrah dismissing Nathan McSweeney (39) and Steve Smith (2) early.
Head attacked from the outset, blasting two sixes off Ravichandran Ashwin to bring up a 63-ball half-century.
Riding his luck after being dropped on 76, he raced to his eighth Test century in style.
He eventually fell short of 150, bowled by Siraj after an intense exchange of words.
Labuschagne, under pressure to perform, reached a patient fifty but fell to a stunning gully catch by Yashasvi Jaiswal.
Alex Carey (15) and skipper Pat Cummins (12) also departed, leaving Mitchell Starc unbeaten on 18.