If you want to go down that path of changing '.Xsession' I'd suggest:
[ -d ".X.d" ] && find ".X.d" -type f -o -type l | while read F ; do . "$F" ; done
This is not Solaris which IIRC used to require '-print' in 'find' expressions, and I don't see the point of running two finds if one can do it.
Agreed with your conclusion.
1. I did not find an '-o' option documented for busybox find, but then perhaps I was missing it somehow.
2. I had wondered myself about the necessity of '-print', but as it was already there, I didn't want to make a change which was not essential to achieve the goal.
So, if your suggestion works, it looks certainly more elegant