There are close to 500 comments in the bz. So I have not read it yet. Can you just tell a quick summary about what is happening. IOW, here one person has to be doing lots of IO behind which other IO gets delayed. So in this case is it VM or firefox which is doing lots of buffered WRITES or direct WRITES or what. Some blktracing might help.
You also might want to play a bit with blkio cgroup controller. Try putting firefox/VM in a separate cgroup or try putting your terminal in a separate cgroup and see if it helps.
For further information look at Documentation/cgroups/blkio-controller.txt