I'm sharing this method with the regular disclaimer that this is what works for me. I'm not claiming this is the perfect method. In the steps below I refer to the facing, because that is what you see in my photos. It would be no problem if the lining was attached to the facing or if you use lining only. It's a lot of steps in the way I describe it here, but it's not overly complicated. Give it a try and let me know how it worked!
Sew the dress without sewing the shoulder seams
Sew the facing without sewing the shoulder seams. Usually this will mean sewing the side seams of the front and back facing. My dress has a center back zipper, which was installed first and there are 2 back facing parts. If the dress has no center back seam, the facing for the back can be one part.
Baste/pin the facing to the dress.
Sew the facing to the dress, do not stitch to the end of the seam, leave about 3cm/1.5 inch open.
Trim and clip the seams where necessary. Again not to the end of the seam.
Turn, press and edgestitch on the facing. How far you can do the edgestitching depends on the width of the shoulder, but do not stitch till the point where you stopped the seamstitch. Stop a little before that point.
Fold away the facing and pin and sew the shoulder seams of the garment.
Pull the shoulder seam inside out.
This is the most fiddly step, pin and sew the shoulder seams of the facing.
Pull on the seams and match the shoulder seams from the garment and the facing.
Pin the neckline and armhole side. Sew and make sure you start and end at the previous stitching lines. This is easier to sew when the seam is still wider, therefor it was not trimmed in the earlier step.
Trim the seam, I trim the corners too to remove as much bulk as possible.