Scharafetdinow startete für Dinamo Leningrad und trat erstmals im Jahr 1964 in der sowjetischen Leichtathletikszene in Erscheinung, im Folgejahr wurde er in den Nationalkader aufgenommen. Der erste internationale Erfolg gelang ihm bei den Europäischen Hallenspielen 1967 als Zweiter hinter dem Deutschen Werner Girke über die 3000-Meter-Strecke. Ebenfalls die Silbermedaille erreichte er bei den Leichtathletik-Europameisterschaften 1969 hinter dem Briten Ian Stewart über 5000 Meter. Zwei Jahre später bei den europäischen Titelkämpfen in Helsinki gewann Scharafetdinow die Bronzemedaille über 10.000 Meter, dabei stellte er mit 27:56,26 min einen neuen sowjetischen Rekord auf, diese Leistung ist zugleich seine Karrierebestzeit. Er war damit der erste sowjetische Läufer, der die 28-Minuten-Marke über 10.000 Meter unterbot. Im selben Jahr wurde ihm der Titel „"Internationaler Meister des Sports"“ verliehen.