Windows 10, Java 8
What I expected to happen was...:
I expected it to come directly from the crosshair, as that would make the most sense to me.
What actually happened was...:
Instead, it fires above the crosshair, or shoves some of your vertical velocity into it, and ends up about 4-5 blocks above where you were aiming.
Steps to Reproduce:
1. Put a crossbow in your mainhand.
2. Put firework rockets in your offhand.
3. Load the crossbow.
4. Jump and fire while moving upwards, towards some kind of backboard that you can see the difference in where you aimed, and where it went.