Found two discoveries based on using Ice Climbers with modules (.rels):
First off, I was able to condense the code ridiculously, now it's only 11 lines vs...a lot. Here it is, just use it instead of the character/costume replacement code I posted earlier.
Character Replacement (Ice Climbers - Popo) [spunit262]
* 80000000 90180B48
* 80000001 90180BF8
* 60000003 00000000
* 4A001000 00000000
* 38000002 00FF1000
* 4A001001 00000000
* 10000000 00000011
* E0000000 80008000
* 86000000 00000004
* 86000001 0000005C
* 62000000 00000000
This still doesn't work in single player modes though, which leads me to my next point. The reason it doesn't work is because character ID's in All-Star, Classic, SSE, and Event Matches are hardcoded and loaded from common2.pac (at least everything but SSE is). This is definitely fixable, EY made a really good guide for that here:
http://www.smashboards.com/showthread.php?t=288062Basically, in Tabuu, change any character instance of Ice Climbers to just Popo in Events and All-Star mode. If the SSE and Classic data can be changed in the same way there'll be no more glitching period. I'll try this out and if it works, I'll make a base pack that fixes all instances of the Ice Climbers to just Popo for .rel ports.