ATC waits until the user a/c has levelled off at the exact altitude given at initial contact before giving the next climb instructions. Happens 95% of the time I'd say (though when it doesn't, I cannot see any particular reason for it). That means that you always end up levelling off and the moment you stop climbing, the next climb instruction comes. All subsequent climb instructions and all descent instructions give plenty of notice of further altitude changes, so you can maintain a steady ascent/descent profile.
The one time that this does not happen is if the initial instruction (i.e. on the ground) is to climb to an altitude of more than 30,000'. So if your cruise altitude is say 39,000' and the initial altitude given is 34,000, you will get an instruction to continue climbing above 34,000' at least 1000' before you reach that altitude.
I usually add 1500' to my first dial-in altitude, which mostly works: but I am sometimes caught out: no climb instruction comes at all at the given altitude, and I'm told to descend to and maintain the instructed altitude.

Not a 'deal-breaker' of course, but if there were a way to ensure that that first climb instruction always came with some notice, like every other, that'd be great.
Thanks.
(I have already submitted logs for this in the past, but can do so again if needed of course).