Hi riceman,
I was in the exact same position as you. Despite being an engineering student, I consistently got 90%+ on Verbal and below 50% on math. In fact, it wasn't until about 2 weeks before my actual GMAT that my scores began to balance out a bit more. In the end my quant score was a 50.
Like you, my issue was time. I would typically miss around 10 questions in Quant each time. Even then, I felt rushed, which caused to get a bunch of questions wrong anyway. A couple of things helped me. First, I made checkpoints for my timing in the quant section. For example, every 10 questions should take about 20 minutes. So, I would check the timer ever 10 questions to make sure I wasn't slowing down. Yes, this piece of advice basically boils down to "be conscious of time and move faster," but it's more than that. You can tell yourself to move faster, but you'll often forget to do so as you move through the problems. The checkpoints help with that.
Second, do a **** of problems, and review EACH ONE. I bought the
Manhattan prep full set, and mostly ignored the quant books because they were on topics I found generally easy. Big mistake. Going through the books exposed me to 90% of the problems I would ever see, and I got to the point where I didn't have to think about how to set of the problem. In addition, as you do practice tests, make sure to review each of the problems and redo them. I helps you get faster.
Finally, when it comes to data sufficiency the hardest adjustment for me was learning not to do out the math. DS questions ask basically asking "can you figure it out," but it's not saying "go figure it out." Thus, DS problems are all about the set-up and not about solving. You likely need to practice this. What helped me is going through my scratch work after a practice test to see how I could have been more efficient.
Hope that helps!