(Note that even with the list in Maseches Sofrim, there are a few days with arguments or multiple psalms which indicate that these choices were not absolute.)
Not perfect, but the best I could do...
In Chashukei Chemed to Sukkah 55a, it says the following:
ז. השיר זכר למעשה בראשית - כתב בשו"ת בנין שלמה (ח"ב או"ח סימן א' הערות על 'מעשה רב - סימן קנח', עמוד י בנדמ"ח) 'ותדע דהא הלוים אמרו שני פעמים את השיר של יום, דהיינו בתמיד של שחר ובתמיד של בין הערבים, וא"כ למה אין אנו אומרים השיר של יום גבי מנחה, אבל הוא הדבר אשר דברתי דמה שאנו אומרים שיר של יום אינו משום זכר למקדש כלל, רק להזכיר מעין יצירת היום, ולכן די בפעם אחד. ובזה ביאר את הנהגת הגר"א שמובא במעשה רב (סימן קנח), שאין אומרים שני מזמורים ביום אחד, דמה שנאמר לומר פרשיות הקרבנות וסדר המעמדות משום ונשלמה פרים שפתינו, אינו אלא בעיקר פרשיות הקרבנות שהם באים לכפר ולהרצות לפני ה', אבל השיר של קרבן, עיקר מצוותו אינו אלא כדי לתת שבח והודיה פני ה' שהשרה שכינתו בבית הגדול והקדוש, וזה היה נחת רוח לפניו רק בהיות הבית על מכונו, אבל עכשיו שחרב המקדש, ואין לנו לא מזבח ולא קרבן ולא מנחה, א"כ אפשר דאין מגיע נחת רוח לפניו ית' באמירת השיר, ורק שיר של שחר תיקנו משום שהוזכר בכל אחד מעין היצירה שבכל יום, על דרך שאמרו חז"ל (סנהדרין דף קא) כל הקורא פסוק בזמנו מביא טובה לעולם, עיי"ש.
Chashukei Chemed is discussing saying Shir Shel Yom at Mincha. He brings down the Shu"t Binyan Shlomo who says that we say Shir Shel Yom as a praise to the day (basing it off of Sanhedrin 101 - "reading a verse at its correct time brings good to the world"), but the Leviyim singing Shir Shel Yom was meant to be a "Nachas Ruach" along with the Korbanos of the day. Since we are not doing it for that reason, once a day is enough. He also uses this to explain why the Gra says that we should not say multiple Shirim on one day.
(Perhaps another proof to this is that the Gra has no Shir Shel Yom for Tisha Beav, whereas in Maseches Sofrim there are multiple ones listed. Perhaps another one is that the Shir in the Beis Hamikdash was only for Leviyim, and if so, why should we say it. Perhaps another one is where we say it during Davening, separate from Korban Hatamid.)
In a nutshell, we don't say the Shir Shel Yom nowadays to remember the old Shir Shel Yom that they used to sing with the Korban Hatamid, but rather as reciting verses appropriate to the day itself.
This would explain why in some cases the Shir Shel Yom that the Leviyim used to sing with the Korbanos does not correspond to those which the Gra chose, as we can suggest that he felt that some of these selections were meant to go together with Korbanos of the day, but when we have no Korbanos, the focus should be changed to those that go together with our Davening, and would be more appropriate.
As an example, we relate to Shavuos as the day of the giving of the Torah, and the Gra presumably felt that Psalm 19 fits that mindset better for us than Psalm 29, which was meant as a praise to accompany Korbanos on that day. Also, any days which had no Shir Shel Yom in the Beis Hamikdash (or simply weren't listed anywhere) should not stop us from saying Shir Shel Yom of our own, which would explain Yom Kippur.
All in all, essentially my answer is that the Gra needed no source, as Shir Shel Yom is just about bringing out something that is meaningful for that day. He also does not contradict Maseches Sofrim, because Maseches Sofrim is talking about what WAS in the Beis Hamikdash, whereas we do not say Shir Shel Yom as related to that.