Rickardsson wuchs im nordschwedischen Iggesund auf und wurde 19-jährig im Dezember 2001 erstmals bei FIS-Rennen eingesetzt. Bei seinen ersten beiden Starts in jeweils rein schwedischen Teilnehmerfeldern belegte er mit deutlichem Rückstand auf den Sieger Per Elofsson lediglich Ränge in der hinteren Hälfte des Klassements. Dennoch wurde er schon kurz danach erstmals bei einem internationalen Großereignis, den Juniorenweltmeisterschaften 2002 in Schonach, eingesetzt. Sowohl im Sprint als auch im Massenstart gehörte er mit einem 33. sowie einem 28. Rang zur besseren Hälfte des Starterfeldes. Im folgenden Jahr nahm er weiterhin an niederklassigen Veranstaltungen teil; einziges Top-Ten-Ergebnis blieb ein fünfter Platz aus dem Continental Cup, den er im Januar 2003 erreichte. Zu seinem ersten Weltcupeinsatz kam er zwei Monate darauf: In Falun durften die gastgebenden Schweden mehrere Staffeln nominieren; Rickardsson trat gemeinsam unter anderem mit dem späteren Olympiasieger Björn Lind für seine historische Heimatprovinz Hälsingland an, belegte jedoch abgeschlagen den 14. und damit viertletzten Rang.
Der erste Einzelstart Rickardssons in der höchsten Wettkampfserie datiert vom Februar 2004. Dabei profitierte er wiederum davon, dass die Schweden in Umeå eine nationale Gruppe entsenden durften, kam aber nicht über einen 65. Rang hinaus. Ähnlich verliefen die folgenden Saisonen: Während sich der Hudiksvaller in den zweitklassigen Wettkampfserien steigerte und häufiger die Top Ten erreichte, wurde er im Weltcup bestenfalls sporadisch eingesetzt und dies auch nur bei Rennen in Schweden. Bei diesen wenigen Starts gelang Rickardsson einmal ein Resultat unter den besten 30; beim 90 Kilometer langen Wasalauf im März 2006 belegte er den 13. Rang. Der Wasalauf gehörte 2006 jedoch zum bisher einzigen Mal zum Weltcup, zudem fehlte nahezu die gesamte Weltspitze, sodass die Platzierung nicht repräsentativ war. Während dieser Zeit beendete der Schwede sein Studium in Umeå und wurde Sportlehrer. Dadurch konnte er sich nicht auf den Skilanglauf konzentrieren und war während der Wettkämpfe nach eigener Aussage „nicht immer so frisch“. Im Nachhinein erklärte er, er habe keine andere Wahl gehabt, da er nicht zum Nationalkader gehörte und somit vom Sport her keine finanzielle Unterstützung erhalten habe.[1]
Bei der zweiten Austragung der Tour de Ski im Winter 2007/08 erhielt Rickardsson kurzfristig die Gelegenheit zur Teilnahme. Sein jüngerer Teamkollege Emil Jönsson, der im Sprint zu den besten Schweden zählte, fiel aufgrund einer allergischen Reaktion in Nase und Luftwegen aus, ebenso Johan Olsson.[2] Nachnominiert wurde Rickardsson, der als bestes Etappenergebnis einen 25. Rang erreichte und im Gesamtklassement die 47. Position belegte, mit fast 13 Minuten Rückstand auf den tschechischen Sieger Lukáš Bauer. In der gleichen Saison folgten weitere Weltcupeinsätze, bei denen er insbesondere im Teamsprint von Liberec überzeugen konnte, als er gemeinsam mit Emil Jönsson Fünfter wurde. Zu Beginn des Winters 2008/09 war Rickardsson fester Bestandteil der schwedischen Nationalmannschaft und wurde so bei den ersten beiden Staffeln des Winters jeweils als Startläufer auf der klassischen Strecke eingesetzt. Beide Male musste sich Schweden als Zweiter den Norwegern knapp im Schlussspurt geschlagen geben. Auch in Einzelrennen gelangen dem Hudiksvaller nun gute Ergebnisse – bei einem Handicapstart während der Tour de Ski erreichte er Rang zehn, insgesamt wurde er im Gesamtklassement 23.
Nachdem Rickardsson beim letzten Wettkampf vor den Nordischen Skiweltmeisterschaften 2009 einen elften Platz belegt hatte, wurde er bei der WM in drei Wettbewerben eingesetzt. In den zwei Einzelrennen über die Distanzen von 15 sowie 50 Kilometern platzierte er sich jeweils unter den besten 30; als Startläufer der schwedischen Staffel verlor er auf seiner Runde jedoch schon mehr als eine Minute auf die besten Nationen. Diesen Rückstand konnten seine Teamkollegen nicht verkürzen, sodass die Bronzemedaillengewinner von 2007 am Ende den sechsten Rang belegten. Rickardsson begründete seinen Einbruch damit, dass er sich auf einmal müde gefühlt habe und die anderen dann davongelaufen seien.[3] Nach den Weltmeisterschaften gelang Rickardsson sein bis dahin bestes Weltcupergebnis, ein achter Platz beim Massenstart über 50 Kilometer in Trondheim. Zu Saisonbeginn 2009/10 nahm die Anzahl der Weltcupauftritte Rickardssons wieder ab; vor der Tour de Ski 2010 bestritt er dort lediglich drei Rennen. Bei dem Etappenrennen Anfang Januar 2010 absolvierte der Schwede zunächst ordentliche Wettkämpfe, bei denen er jedoch jeweils die Top Ten verpasste. Beim Zehn-Kilometer-Einzelrennen in der klassischen Technik am 7. Januar 2010 in Toblach gewann er dann überraschend zum ersten Mal bei einem Weltcuprennen – gleichzeitig das erste Mal, dass er überhaupt das Podium erreichte. Rickardsson hatte das Rennen schnell eröffnet und war bei jeder Zwischenzeit Zweitbester gewesen. Auf den letzten Kilometern überholte er schließlich auch Lukáš Bauer und nahm ihm knappe zwei Sekunden ab.[4] Gleichzeitig verbesserte er als Fünfter seine Ausgangsposition in der Gesamtwertung. Wenngleich er bei der Schlussetappe lange Zeit mit der um Rang drei laufenden Gruppe mithalten konnte, verlor er auf dem Anstieg zur Alpe Cermis einiges an Zeit und wurde im Gesamtergebnis Achter.
Der Erfolg bei der Tour de Ski, der in schwedischen Medien als „historischer Sieg“ gefeiert wurde, steigerte auch Rickardssons Popularität. Der Schwede, der zunächst durch den Sport kein Geld verdienen konnte, bekam finanzielle Unterstützung durch den Verein sowie durch Sponsoren. Als nächstes Ziel gab er die Olympischen Winterspiele 2010 in Vancouver an; dort hoffte er auf einen Platz in der Staffel und auf „Rache“ für das schlechte WM-Staffelrennen.[1] Nach zwei Einzelrennen im Whistler Olympic Park, bei denen Rickardsson 22. und 23. wurde, erhielt er am 24. Februar tatsächlich eine Position in der Staffel – erneut die des Startläufers. Diesmal hielt er auf seiner Runde mit den besten Athleten mit und wechselte als Dritter auf seine Teamkollegen, die schließlich mit klarem Vorsprung die Goldmedaille gewannen. In der Saison 2010/11 erreichte er bei 13 Teilnahmen an Weltcuprennen zehnmal eine Top-Zehn- und fünfmal eine Podestplatzierung. Dabei gewann er in Gällivare mit der Staffel und in Drammen über 15 km Freistil. Die Tour de Ski 2010/11 beendete er auf den neunten Rang. Bei den Nordischen Skiweltmeisterschaften 2011 in Oslo holte er Silber mit der Staffel. Beim Weltcupfinale in Falun errang er den sechsten Platz und beendete damit die Saison auf den dritten Platz im Gesamtweltcup und den zweiten Rang im Distanzweltcup. Im April 2011 wurde er schwedischer Meister über 50 km.
In der folgenden Saison kam Rickardsson im Weltcup in Sjusjøen und in Nové Město mit der Staffel auf den dritten Platz. Seine beste Platzierung im Einzel war der neunte Platz über 30 km in Davos und in Nové Město. Im April 2012 wurde er erneut schwedischer Meister über 50 km. In der Saison 2012/13 kam er bei der Nordic Opening in Kuusamo auf den 47. Rang, bei der Tour de Ski 2011/12 auf den 13. Platz und beim Weltcupfinale auf den 11. Platz. Mit der Staffel belegte er in Gällivare und in La Clusaz den zweiten Rang. Bei den Nordischen Skiweltmeisterschaften 2013 im Val di Fiemme gewann er mit der Staffel die Silbermedaille.
Zu Beginn der Saison 2013/14 errang Rickardsson bei der Nordic Opening den 27. Platz. Es folgte ein 19. Gesamtplatz bei der Tour de Ski 2013/14
Bei den Olympischen Winterspielen 2014 in Sotschi gewann Rickardsson zunächst Bronze über 15 km im klassischen Stil- ganze 0,2 Sekunden vor dem Finnen Niskanen. Darüber hinaus gelang ihm gemeinsam mit der schwedischen Staffel die Titelverteidigung über 4-mal 10 km. Im März 2014 belegte er in Lahti über 15 km Freistil den zweiten Platz und gewann in Oslo im 50-km-Massenstartrennen. Die Saison beendete er auf dem achten Platz im Gesamtweltcup und auf dem dritten Rang im Distanzweltcup. Im selben Monat siegte er beim Årefjällsloppet.[5] Beim Weltcupfinale in Falun kam er auf den vierten Rang und erreichte damit den dritten Platz im Distanzweltcup. In der Saison 2014/15 errang er den 12. Platz bei der Nordic Opening in Lillehammer und den zehnten Rang bei der Tour de Ski 2015. Bei den Nordischen Skiweltmeisterschaften 2015 in Falun holte er zum dritten Mal nach 2011 und 2013 die Silbermedaille mit der Staffel. Zum Saisonende kam er auf dem 16. Platz im Distanzweltcup und auf dem 14. Rang im Gesamtweltcup. Nach Platz 18 bei der Nordic Opening in Ruka zu Beginn der Saison 2015/16, startete er bei Skimarathon-Rennen. Dabei belegte er den siebten Platz beim Birkebeinerrennet und den sechsten Rang beim Marcialonga. Im Januar 2016 wurde er schwedischer Meister über 15 km und mit der Staffel. In der Saison 2016/17 errang er bei der Tour de Ski 2016/17 den 24. Platz. Im Januar 2017 wurde er beim Weltcup in Ulricehamn Zweiter mit der Staffel. Anfang Februar 2017 errang er bei den schwedischen Meisterschaften den zweiten Platz über 15 km klassisch. Bei den Nordischen Skiweltmeisterschaften 2017 in Lahti gewann er die Bronzemedaille mit der Staffel. Zudem belegte er den 23. Platz im Skiathlon und den 13. Rang über 15 km klassisch. Die Saison beendete er auf dem 33. Platz im Distanzweltcup und auf dem 24. Rang im Distanzweltcup. Zu Beginn der Saison 2017/18 kam er auf den 35. Platz beim Ruka Triple und auf den achten Rang bei der Tour de Ski 2017/18. Seine besten Platzierungen bei den Olympischen Winterspielen 2018 in Pyeongchang waren der siebte Platz im 50-km-Massenstartrennen und der fünfte Rang mit der Staffel. Zum Saisonende errang er den 17. Platz beim Weltcupfinale in Falun und abschließend den 17. Platz im Gesamtweltcup und den 16. Platz im Distanzweltcup. Ende März 2018 wurde er in Skellefteå schwedischer Meister über 50 km klassisch.
In der Saison 2018/19 belegte Rickardsson den 28. Platz bei der Tour de Ski 2018/19 und den 29. Rang beim Weltcupfinale in Québec und erreichte damit den 62. Platz im Gesamtweltcup. Anfang Februar 2019 wurde er in Sundsvall schwedischer Meister im Massenstartrennen über 30 km klassisch. Beim Saisonhöhepunkt, den nordischen Skiweltmeisterschaften 2019 in Seefeld in Tirol, lief er auf den 21. Platz über 15 km klassisch und jeweils auf den 15. Rang im 50-km-Massenstartrennen und im Skiathlon. Letztmals am Weltcup nahm er im März 2020 in Oslo teil, wobei er den 21. Platz im 50-km-Massenstartrennen errang.