Well, in the past 24 hours, I've done a few things.
1. I've disproven my previous claim that Luigi cannot corner-boost (It is done in almost the same way as Mario). I feel kind of dumb now for claiming it was impossible.
2. I've found out that corner-boost can also increase speed to 80 for one frame as well at times. Plus, you do not have to activate the block to corner boost.
3. There are 12 addresses with values that I have a suspicion that may contain information on the contents of the red blocks (all 1 byte).
02094CCD
02094CCE
02094CCF
02094D2D
02094D2E
02094D2F
02094D5D
02094D5E
02094D5F
0209551F
020956E7
02095777
I've done 10 trials. So far, when all 12 are value 0 after level 1-1, the Red Block in level 1-2 had a blue shell. When the first 9 are value -1 and last three are value 2, the Red Block in 1-2 had a fire flower. (Haven't had any other combination yet)
I may begin narrowing it down later on (or editing it).
Edit:
4. I've been comparing my run with was0x's run and one thing is bothering me. I'm using Luigi again (since corner boosting is possible with Luigi) and even before the run actually starts, Luigi's runs is faster for some odd reason. Check these screenshots. Both are taken at frame 2410. The left one is was0x's Mario run and the right one is my Luigi run. Luigi is exactly 92 frames ahead by the time the first level starts. I think it has to do with the emulator I'm using (its version 0.9.2+)
Edit2: I don't know if this is a time-saver or not (or if people know this or not), but when you are in the shell in 1-F destroying blocks, if you let go of the dash for one frame and jump just as you are about to hit a block, you can maintain speed greater than 46 rather than have it decrease to 44. Then you can hold the dash again and increase your speed back to 48 until your jump lands (where you can adjust so that you barely have time to destroy the next block).