How to stop a object from scaling to its parent.

So right now i have moving platform gameobects. In order for me to make sure my player moves with the Platforms properly they each have a trigger box that when they are in it sets their parent to the platform. The only problem is that in random cases this will cause them to Scale in weird ways just as the platform is scaled… in a sense. Below is the code and i was wondering if anyone can think of a way to make sure that my player retains the scale that it had previously.

 void OnCollisionEnter(Collision collision)
    {
        if (collision.collider.tag == "Player")
        {
            collision.collider.transform.parent = transform;
        }
    }
    void OnCollisionExit(Collision collision)
    {
        if (collision.collider.tag == "Player")
        {
            collision.collider.transform.parent = null;
        }
    }

Easy answer is to say don’t scale the platforms. Otherwise, when you add the player, make the player a child of a transform, let’s call it fred, and make fred a child of the platform. This will give you a hierarchy that looks like platform->fred->player. Put a scale into fred that reverses the scale of the platform. Sorted. Now you have solved your scaling problem by adding an additional amount of scale computation.