I have the exact same problem on one of my servers.
To be precise, no boot problem with Debian kernels up to 4.9.0-7
included.
But I encounter the same issue whith 4.9.0-8 and 4.9.0-9 : a blank
screen with a blinking cursor just after the 'Loading initial ramdisk
..." message.
What is really frustrating is that I couldn't find a way to have a
message about what is happening. I tried all the 'break' parameter
values on the kernel command line, I tried the debug parameter, I
changed the rootdelay. Nothing but this blinking cursor.
The only workaround is acutally to remove firmware-misc-nonfree.
(I also try to use the backport version of this package with no luck...)
But this breaks some of the depencies of my setup, so I will just boot
on 4.9.0-7 until this issue is solved.
I'll be very happy to help if you tell me how to generate any message
during the boot.