How to instantiate an object inside parent using parent's scale

I want to instantiate an object inside my enemy gameobject, and to position them relative to the parent, also to use the parent’s scale.

So I use:

var exp = Instantiate(Resources.Load("Explosion", GameObject), Vector3(transform.position.x+3,1,transform.position.z+1), transform.rotation);
		exp.transform.parent = gameObject.transform;

…this creates the object inside the enemy but is really far away, as the enemy’s scale is less than 1.

Maybe this will work (c#):

        GameObject exp = Instantiate(Resources.Load("Explosion", GameObject), new Vector3(transform.position.x+3,1,transform.position.z+1), transform.rotation) as GameObject;
        exp.transform.parent = gameObject.transform;
        exp.transform.localPosition.Set(3,1,1);