My own personal theory is that the roughness in your attacks occurs because your sound is unfocused for a small fraction of a second in the beginning of each note. We very often forget about sound quality when we are playing fast notes. It is relatively easy improve your attacks if you improve your tone.
First play each note separately with your best sound. Do long tones with each note if you want. Then gradually play the "trouble passage" up to the desired speed. Always try to reproduce the sound you were making when you were playing the notes separately. Improving the tone quality for the whole note will automatically improve the tone quality for the beginning of the note thus improving the quality of the attack.
Although this might not entirely clean up your staccato, you should be quite happy with your attacks this way and it won't affect the fluidity of your playing.