not recommended approach
With Method -> {"TemplateExpand" -> True} you can inspect whole structure of created boxes.
ToBoxes[Manipulate[body
, SynchronousInitialization -> False
, Initialization :> (Pause[1])
, Method -> {"TemplateExpand" -> True}
]]
and find out that this preview is defined in Manipulate`Dump`initDisplay. So here's a quick helper function to replace it:
replaceInitScreen[
manipulate_,
newInit_
] := RawBoxes[
ToBoxes[manipulate] /.
HoldPattern[Manipulate`Dump`initDisplay[False]] -> newInit
]
replaceInitScreen[
Manipulate[body, SynchronousInitialization -> False,
Initialization :> (Pause[1]), Method -> {"TemplateExpand" -> True}],
Row[{ProgressIndicator[Appearance -> "Percolate"], "Please wait..."}]
]

It works but it is not a recommended way, consider it an exercise.
recommended approach
What you should do it to take it in your hands and do something like:
DynamicModule[{initDone = False}
, Panel @ Dynamic[
If[ Not @ TrueQ @ initDone
, Row[{ProgressIndicator[Appearance -> "Percolate"], "Please wait..."}]
, body
]
, TrackedSymbols :> {initDone}
]
, UnsavedVariables :> {initDone}
, SynchronousInitialization -> False
, Initialization :> (Pause[1]; body = "whatever"; initDone = True)
]
Read more in closely related:
Working with DynamicModule: Tracking the progress of Initialization
SynchronousInitializationto change this. may be you could send WRI a feature request to add such option to change the message. – Nasser Nov 09 '17 at 01:58