code to force a gentle servo power up
You cannot do that with ordinary servos. This is because of the way the
communication protocol is built: the only thing a servo understands is a
command which in effect means “go to that position as fast as you can”.
You can achieve smooth movements by updating the requested position (the
so called “set point”) many times by tiny steps, but you still have the
problem at startup.

I see two possible solutions to your problem:


Make sure you know the position at which the servo was left when you
powered down your Arduino. You can either arrange to leave it always
at the same position, or you can store the last position in EEPROM
before powering down. Then, at startup, you initialize the servo with
that last known set point.
Use a special type of servo known as a feedback
servo,
or convert a regular
servo to
get a feedback. A feedback servo is a type of servo that tells you
its actual position, so you can arrange for the initial set point to
match that position.