There are other, more conventional methods (ie, a feathered selection), and I don't know whether this method could be adapted to work with smart objects, but one of my favorite edge blending techniques is to:
a) Select the added object.
b) Selection / modify / boundary, and set the width of the boundary shell to an appropriate size, not too thin and not too thick. Note: depending on the situation, one might have to locate the boundary area outside of the added object. In that case, do "selection/modify/expand" followed by "selection/modify/boundary" to work on the right area.
c) Use content aware fill to fill in the boundary.
Depending on the situation, sometimes this works beautifully (and saves one a bunch of work), other times, like many applications of content aware fill, it can put all sorts of junk in that area, but when it works, it looks great.
Just my $0.02,
Tom M