Quoted By:
A pokemon would evolve after defeating a specific pokemon species, as if the battle had a huge impact on the pokemon itself
Like, a Dark-type pokemon would evolve into a Dark/Fairy-type after battling a certain Fairy-type, and it's overall design (moves, appearance, abilities) would show clear influence from the pokemon it defeated. This would probably be a bitch to actually do ingame so not sure if it's really viable, but at least it's better than Goo-dra's shit evolution method.