As for bromo, rooms at the 2 popular hotels gets booked up very very fast. Better call ahead and make sure there are still rooms available.
You need to hire the jeep to go up to the viewpoint. Make sure you make it a point to insist on the jeep leaving the hotel area around 2:30am or before. If not, your jeep will have to park pretty low down the single lane road, making your approach to the viewpoint a good 30mins walk uphill. If that happens, by the time you get up to the viewpoint, the place will be packed.
There used to be a path that you can go down to get unobstructed views from the right side of the view point (near the antenna tower). But it has recently been fenced up. So your only choice is to climb over the fence. The sand is very loose up there so watch it. I slipped a couple of times myself. But the reward is this:
After sunrise, don't stay at the viewpoint too long. Get your shots fast. once the sun is up to a good height around 7am, leave the viewpoint fast, and back to the jeep. The jeep will send you down to the caldera. Skip the horseride or the climb up the crater. Immediately hit the Savannah (at slight extra cost) at the back of the mountain. If you get there early enough, you will be able to see the rays of lights hitting the savanna. Enjoy the savannah for 30mins and head out to Whispering Sands. Time is of the essence. Because, once the sun heats up the caldera enough, the air will start moving up and high chance of sand storm in the caldera. If sand storm happens, it is usually starts around 9am or slightly after.
Whispering sands is a must see...
Hope this helps.
BTW, it is a 7-8 hour drive from Surabaya to Bromo each way without traffic. If you hit traffic, might end up doing 10 hours. So make sure you have a backup driver and also a good GPS system.
good luck!