Born in Stropkov, eastern Slovakia, Šafranko began his football career in the local club Tesla Stropkov, whose senior side only plays in lower regional divisions of Slovak football league system. He later transferred to Slovakia's oldest club, and the biggest one in Prešov Region, Tatran Prešov, where he spent two years in the youth teams. After graduation from the academy, he made a competitive debut for Tatran in a II. liga fixture against Spartak Trnava B, in a 7–0 victory, in the first round on 20 July 2013. He came on in the 82nd minute as a substitute for Peter Nworah. Overall, in his first season in senior football, he made 18 appearances, but made it to the starting line-up only once, again against Spartak Trnava B, on 6 October 2013.
In the next one and a half season he spent in Prešov, Šafranko played 38 games and scored 20 goals. These good performances got him transferred to ŽP Šport Podbrezová, who was a top division club, despite being a village of just over 4,000 people. Šafranko made a Fortuna liga debut on 27 February 2016, in a 1–0 home win over Senica. Unlike his premier season at Tatran, Šafranko immediately became a starting line-up player, although he only scored a single goal against Zemplín Michalovce on 2 April 2016. In the autumn period of the 2016–17 Fortuna liga he however scored 4 in 18 games, attracting the attention of an ambitious club from the upper half of the table DAC Dunajská Streda, to which he transferred in January 2017.
After he only spent roughly half a year in DAC, but managed to score 6 goals in 17 competitive games, Šafranko was transferred to his first international club. On 21 August 2017 it was announced that he joins Aalborg, playing in the Superligaen.
In Aalborg, Šafranko joined his two fellow countrymen: young defensive midfielder Filip Lesniak, a grandson of then Slovakia national team's coach Ján Kozák and a former international Jakub Sylvestr. In his first fixture, he made it to the starting line-up immediately, playing against Aarhus in a goal-less tie on 26 August 2017. Despite the fact that he played mostly as a center-forward, Šafranko only scored two goals in 28 games and his play-time dropped as the season progressed.
Consequently, after the initial rounds of 2018–19 season, Šafranko was sent on a loan to Scottish Championship side, Dundee United. In Scotland, Šafranko made a notable impression soon after his arrival. He scored the second goal in a 2–1 win, in his debut match, against Queen of the South and before the end of the calendar year, he scored 7 further goals, most in September and October. Even in 2019, Šafranko continued to be fruitful, scoring 6 further goals, some in the final decisive rounds of the main part of the season, which saw Dundee United finish second, 6 points behind Ross County, but managing to qualify to the Premiership relegation play-off. In March 2019, Šafranko was called up for first competitive fixtures of Slovak national team, after his performances and made a competitive debut too. In May's play-offs, Dundee United managed to overcome Inverness in the semi-finals, with Šafranko scoring one of four goals in the two-leg fixture. However, in the final of the play-off against St. Mirren after, two goal-less times, in the decisive penalty shoot-out, Šafranko's penalty was saved by Václav Hladký and Dundee United lost the shoot-out 3–1. Before the play-offs Šafranko had stated, that he intends to win a promotion for Dundee United. After the season concluded, it was reported that Premiership's leading sides have shown interest in Šafranko, who tallied a total of 15 goals in 40 games in the season, with Rangers and Aberdeen being named. The latter were apparently prepared to offer a transfer during the winter transfer window, however as Šafranko had already played for Aalborg and Dundee United that season, he would have been ineligible to play. Nonetheless, after this successful season, it was reported that Aalborg had requested a transfer fee of £1m, as Šafranko was still bound by a year of contract.
On 1 August 2019 AaB announced, that they had sold Šafranko to Romanian Sepsi Sfântu Gheorghe.
International career
Šafranko was first called up to the senior national team for two friendly fixtures held in Abu Dhabi, UAE, in January 2017 versus Uganda and Sweden. Safranko made his debut versus Uganda, being fielded in the 85th minute, when he substituted Filip Oršula. Slovakia went on to lose the game 3–1. Šafranko also played the initial 60 minutes of Slovak 6–0 defeat to Sweden on 12 January 2017 before being replaced by another striker Tomáš Malec. Šafranko's first call-up for a competitive international fixture came over two years later, when he was nominated by Pavel Hapal, on 12 March 2019, for a double UEFA Euro 2020 qualifying fixture against Hungary and Wales. He was nominated to replace Adam Nemec, who was a long-term center-forward in the national team, but retired from international football earlier in February 2019. He was fielded in the first match against Hungary, on 21 March 2019, in Trnava, marking his competitive debut in the Slovak senior national team. He was fielded in the 88th minute, when he replaced Ondrej Duda, who scored the first goal of the match in 42nd minute and assisted Rusnák's goal in the 85th minute. Slovakia won the match 2–0. Šafranko however did not play in Slovakia's 0–1 away loss to Wales.