I wouldn't worry too much about -print0 as long as the file names are well formed. Below is an example that should do what you want:
rnd=$(tr -cd a-z0-9 < /dev/urandom | head -c5)
find . -maxdepth 1 -type d | while read dir; do
mkdir -p ${dir}_${rnd}/C
cp populate.sh ${dir}_${rnd}/C
done
rnd explanationExplanation
tr -cddeletes the complement of the specified pattern, alphanumerics in this case.head -c5takes the first five characters and exits.whileruns thereadcommand for every line thatfindprovides.readassigns the directory fromfindto$dir.