Lorenzo Insigne and Samuele Longo then added to the visitors' tally.
Somalia-born Feruz was one of seven debutants as manager Billy Stark elected to experiment with team selection against top quality opposition in preparation for next month's European Championship qualifier with Bulgaria.
Scotland were behind from the visitors' first attack as Giuliuo Donati's right-wing cross found an unmarked Florenzi to head beyond Mark Ridgers.
Ridgers reacted well to save with his feet from Immobile before Scotland's first strike on goal came after 22 minutes when Scott Allan shot straight at Simone Colombi from 25 yards.
Ridgers spread himself well to save from Immobile twice either side of a left-footed Mackay-Steven shot which hit the post.
An equaliser soon followed as Johnny Russell reacted to a ricochet off an Italian arm and made his way to the by-line before crossing for Dundee United team-mate Mackay-Steven to tap in.
Russell forced Simone Colombi into a save and Immobile volleyed over as the half ended level.
Grant Adam was one of three half-time replacements, but his involvement lasted less than a minute as he was caught by Marco Crimi before departing after lengthy treatment.
Rochdale's Matthew Edwards then became Scotland's third goalkeeper of the evening and his first task was to pick the ball out of the net as Immobile ghosted through the middle and stroked in a neat finish.
Edwards' goal was under continual pressure and Sansone hit the bar with a strike from wide on the right.
A Rhys McCabe free-kick was repelled by Italy substitute goalkeeper Carlo Pinsoglio as Scotland briefly threatened before Insigne found the top corner with a free kick following a Ross Perry foul on the edge of the box.
Feruz found space for a shot which Pinsoglio parried wide before Scotland conceded a late fourth when Longo netted.
Scotland U21: Ridgers (Adam 46), Jack (Toshney 80), Wilson, Perry, Hanlon (Shinnie 80), Wotherspoon (Palmer 77), Kelly (McGeouch 46), Allan (McLean 61), Mackay-Steven (Armstrong 76), MacDonald (Feruz 61), Russell (McCabe 46), Adam (Edwards 52).
Goals: Mackay-Steven 33.
Italy U21: Colombi (Pinsoglio 56), Donati (De Sciglio 77), Capuano, Rossi (Crimi 46), Caldirola (Antei 46), Crescenzi, Sansone (De Luca 77), Florenzi (Viviani 77), Verratti, Insigne (Forestieri 83), Immobile (Longo 83).
Goals: Florenzi 8, Immobile 55, Insigne 75, Longo 89.
Ref: Michael Oliver (Eng)