時間がかかってしまいます <- 本当ですか?ユーザーの名前を取得する回数は送信する回数と同じでパフォーマンスがとても悪くなるとは思えません。(計測しないとわかりませんが。) 並列に動作させられるはずなので何も問題ないように思います。
sdkからは提供されない気がします。独自に関数を定義していけば良いと思います。
for userId in userIds:
display_name = get_profile(userId).display_name
push_message(userId, text.replace(<ユーザー名>, display_name))