The son of an Adelaide accountant, McAvaney developed an early interest in sport and race calling. After attending Woodville High School (and failing Year 12) he spent five years as a Telecom clerk. Then in 1976 during a day off work, McAvaney travelled to Kilmore, Victoria to bet on some races. There, he met Kevin Hillier, an Adelaide race caller, who suggested McAvaney help him out back in Adelaide. This launched his career in the sports media, joining Adelaide radio station 5DN, calling horse races and later hosting a sports show.
McAvaney moved to television in 1978, when he joined Adelaide station ADS-7 to read sport news and produce the weekly Racetrack program. His career received a boost when colleague Sandy Roberts covered the 1980 Moscow Olympics for Seven, and Bruce was chosen to host the Adelaide end of the telecast for the station.
From 1981 until 1983, McAvaney was the chief sports presenter for Seven News in Adelaide. He was also the lead commentator for Seven's telecasts of the South Australian National Football League competition, calling the 1983 SANFL Grand Final with former player Robert Oatey. He also hosted the league's Magarey Medal telecasts.
In late 1983 he moved to Melbourne and joined Ten Melbourne to read sport news. The following year he was the secondary host and commentated track and field events at the 1984 Los Angeles Olympics for the Ten Network.
Between 1985 and 1988, McAvaney also called the Melbourne Cup and hosted various major sporting telecasts for Ten, including the 1986 Edinburgh Commonwealth Games, the 1987 World Athletics Championships in Rome and the 1988 Grand Prix athletics in Berlin. McAvaney went on to co-host Ten's telecast of the 1988 Seoul Olympics, a role which won him significant acclaim.
In 1989, McAvaney negotiated a two-year premature end to his contract with Ten, and returned to the Seven Network on the condition that he could cover the 1992 Olympics.
Since his return to Seven, McAvaney has hosted and called a broad range of the network's sports coverage, including the Melbourne Cup, World Athletics Championships, Motor Racing, the Australian Open Tennis, Australian Masters Golf and all Summer Olympic Games from Barcelona 1992 to Rio 2016, except London 2012 (because Seven did not have the rights to those Games). His extensive history covering Olympic Games has led to the nickname "Mr Olympics".
McAvaney was awarded a Medal of the Order of Australia (OAM) in June 2002 for service to sports broadcasting, and to the community through charitable and sporting organisations. He was also inducted into the Sport Australia Hall of Fame in that year.
McAvaney's first marriage, to Merry, lasted from 1983 to 1991. He met his second wife Anne Johnson, a television journalist and producer, in 1993 while making the show Seasons. With her, he has two children, Sam and Alexandra. He moved his family from Melbourne back to his home town of Adelaide in 1999.
In March 2017 McAvaney revealed he was battling leukaemia.