I've been struggling with a similar issue myself, and I believe I've finally found a solution:
Set the Microsoft Exchange Information Store service to Automatic(Delayed Start)
** This may break Outlook Anywhere Access **
Even though it's not documented anywhere, the RPC Client Access Service requires port 6001, and the Exchange Information Store service is configured to register port 6001 for RPC over HTTP, used by Outlook Anywhere clients. This setting is configured in in a REG_DWORD named "Rpc/HTTP Port" located in HKLM\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParameterSystem. So, if the Exchange Information Store service starts before the Exchange RPC Client Access service starts then the Information Store service registers port 6001. This results in the RPC service being unable to register that port, which is what it's sort of telling you in that error message.
It's possible that changing the value of the Rpc/HTTP registry value might also fix the problem, but the only Microsoft KB I could find that talked about this registry value strongly discouraged changing it. Granted, this was for Exchange Server 4, 4.5, and 5. However, it's not necessary to change this value just to get the RPC Client Access Service working again.
How I figured this out:
I'm running Exchange 2010 SP3 on Windows Server 2012, and have been having issues with the RPC Client Access service failing to start. In my situation, sometimes the service would start after a reboot, and sometimes it wouldn't. If it didn't start automatically then manually starting it always failed, with the error "The Microsoft Exchange RPC service can't be started because the EMSMDB interface is already registered by another process". The only solution I found was to restart the server again, and hope that the RPC Client Access Service started. configuring static ports for RPC and the Address book didn't help. Nor did setting the RPC Locator Service to Auto. I first saw a reference to port 6001 in this ExpertsExchange thread (I was desperate!). I also saw it mentioned on this TechNet support thread. In my case, I noticed netstat was reporting port 6001 was being used by store.exe. Stopping the Information Store service allowed me to start the RPC Client Access service. I then started the Information Store service again. The Information Store service started successfully, but did log an error in the Application error log:
Event 9691, MSExchangeIS
Status 0x000006CC registering RPC protocol "ncacn_http"
endpoint="6001". This may be expected, depending on the machine
[ Name] MSExchangeIS
- EventID 9691
[ Qualifiers] 49158
[ SystemTime] 2013-04-18T18:52:52.000000000Z
Hopefully this will be of some use to someone!