About a month ago, Mojang discontinued all of the legacy skin APIs. Until 1.3.1 Minecraft retrieved skins from an s3.amazonaws.com/MinecraftSkins/, however this database has not been updated since April 2014. Because of this, skins would no longer update in any version prior to 1.3.1, although they would still technically work if you had an older account. Versions 1.3.1 through 1.7.5 used skins.minecraft.net instead, so a number of patches came out to make older Minecraft versions retrieve skins from skins.minecraft.net. Unfortunately, in February, Mojang discontinued all Skin APIs except the current UUID-based one, and deleted both of these older databases. This newer API is not really usable with older Minecraft versions, because it would require backporting the 1.7.x+ UUID system. To solve this problem, I have made a fix for Tekkit Classic which tells Minecraft to retrieve skins from an API called Minotar, which still uses usernames to designate players.
You can download my fix here!
Edit: The change from s3.amazonaws.com to skins.minecraft.net occured in Minecraft 1.3.1, not in Minecraft 1.3. Likewise, the change from skins.minecraft.net to the modern UUID-based skin system occured in Minecraft 1.7.6, not Minecraft 1.7.8. Also, bear in mind that this fix only works for skins, not capes, as the latter were downloaded from a different database (s3.amazonaws.com/MinecraftCloaks/) which was deleted in April 2018, a month after this fix was originally posted.