Below is what I did to fix a similar problem, but I already had the root account enabled, which made it a lot easier. If root is not enabled for you, you might be able to use single user mode to accomplish a similar result (move or rename the existing home folder).
I had already tried resetting NVRAM and SMC. It turned out that the update to 10.11.4 didn't like my primary user account. I discovered this by successfully logging in as system administrator (root) while in Safe Boot mode. Root was already enabled using Directory Services.app (/System/Library/CoreServices/Applications/). I needed to migrate my home folder to a new account. I logged in as root, then created a new user in Users and Groups prefpane. Then I used a combination of Terminal commands and the UI to replace the new user's home folder with the one I had used for the account into which I could not log in. This explanation may risk over-simplification, but what I did was this. While logged in as root, I deleted the former user in Users and Groups leaving the home folder unchanged, deleted the new user's home folder, used the "mv" command to change the name of the old home folder to the name of the new user's home folder, then used a command something like "chown -R new-user-name /Users/new-user-name" to give the new user permissions to the stuff in the old folder. Then I was able to log in and use my stuff. I didn't worry too much about persistent caches, so I have a bit of cleaning up to do, but the old stuff is where it should be now and everything seems to be working.