Originally Posted by MeRcyLeZZ
This last method consists on making the actual players invisible and having individual entities (which have your custom player models) to follow them and copy their movements. So even though it looks like it, you aren't actually changing player models at all and no SVC_BAD kicking should occur (credits go to Cheap_Suit for being the first one who came up with this AFAIK).
*cough* "CHICKENMOD" *cough*, this is how the module use to work
1 vital piece of information you missed from that as well, the player that is transformed can see this new model as well!
Taken from ChickenMod 184.108.40.206 module:
int AddToFullPack(struct entity_state_s *state, int e, edict_t *ent, edict_t *host,
int hostflags, int player, unsigned char *pSet)
if (!player && ent->v.euser4 == host) //don't send chicken to owner