I've read about rather complex methods that require test flights and trail and error adjustments if you replace swashplate, links or servos. Most tell you to make swashplate level first.
You don't have to do any of that. There is a much simpler and 100% sure way to do it.
Assemble the swashplate and lower blade grips with all the links. Then align blade grip with one of the lower swashplate ball links. Turn power on. Center trims on the transmitter. Look at the slot in the blade grip. It should be perpendicular to the shaft. Very easy to eyeball. Trims should vary the angle of the grip slot a little bit in either direction. But with the stick and trims centered, it should be perpendicular to the shaft. Adjust corresponding link as needed.
Rotate lower shaft 90 degrees, so the blade grips will align with with other servo to swashplate link. Repeat the procedure.
Rotate the outer shaft and observe the angle of the blade grip slot relative to the shaft through the complete revolution with power on and cyclic centered. It should be perpendicular to the shaft.
That's all. You will have your heli perfectly trimmed on the first flight.
This method should work with any FP helicopter. And not only with FP. With collective helicopters you need to set the collective to zero pitch (if possible) with the motors disconnected. I did it on my gas powered Concept 30. It worked 100% all the time. Just have to make sure that the stabilizer bar is always level.