I had the same problem User Profile sync was stuck up in starting mode... This is what i did.
1. User Powershell cmdlet Get-SPServiceInstance to get the GUID of User Profile Sync.
2. Stopped the Service using the cmdlet Stop-SPServiceInstance <GUID>
3. Stopped Sharepoint Timer Service. force started forefront Services(there will be two with disabled mode. need to make it start and put it to automatic mode.)
4. Used the Cmdlet Get-SPServiceApplicationPool
to check if app pool is existing. else u should create by using the commands: New-SPServiceApplicationPool, then type UserProfileServiceApplication and then give the user account something like ur domain\adminid. this should be the account u used to
install sharepoint 2010. Now after doing this, need to confirm if it is created properly by the first Get-SPServiceApplicationPool cmdlet.
5. Major step that I thought made magic was this:
from the command prompt, run: cliconfg.exe
Enable “named pipes” and “TCP/IP” (if not already there)
After all this, try starting the user profile sync with crossed fingers...for sure it will work as it did so for me.