Singapore-born David has carved a reputation as one of the world's most explosive Twenty20 hitters but averages 82.77 in List A (domestic 50-over) cricket and earns his chance after being added to the squad to replace injured Glenn Maxwell.
Allrounder Hardie, who made his T20I debut earlier in the tour, and Nathan Ellis come into a batting-heavy XI on Saturday, with Marcus Stoinis, Ashton Agar and Josh Hazlewood all being rested.
Cameron Green is out with concussion but his substitute in the opening rubber, Marnus Labuschagne, will bat at No.4 following his magnificent, 80 not out which steered Australia to a three-wicket win.
Tavemba Bavuma, who became the 13th ODI opener to carry their bat in the first match with his remarkable solo ton, confirmed three changes for the Proteas after winning the toss.
Allrounder Andile Phehlukwayo, legspinner Tabraiz Shamsi and express quick Anrich Nortje come in for Keshav Maharaj, Gerald Coetzee and Lungi Ngidi.
AUSTRALIA: Mitch Marsh (capt), Travis Head, David Warner, Marnus Labuschagne, Josh Inglis, Alex Carey (wk), Tim David, Aaron Hardie, Sean Abbott, Nathan Ellis, Adam Zampa.
SOUTH AFRICA: Temba Bavuma (capt), Quinton de Kock (wk), Rassie van der Dussen, Aiden Markram, Heinrich Klaasen, David Miller, Marco Jansen, Andile Phehlukwayo, Kagiso Rabada, Anrich Nortje, Tabraiz Shamsi.