I only have uno r3, so should I purchase due? what say it has 3 rx tx pins ?
or try with virtual serial?
I’ve seen various complaints that not all of the Due libraries are complete, since the Due is a completely different processor (Arm instead of AVR), and a lot of Arduino code assumes it is working on the AVR.
While the Teensy 3.0 also uses an Arm processor, the Teensy 3.0 creator is real active in getting things fixed. Note, I have a Teensy 3.0, so I follow that, but I don’t follow the Due as much, so things could be much better by now. Note, with the Teensy 3.0, you will need to add an overlay to the IDE to get the Teeny 3.0 support. And you should post teensy specific questions over at the Teensy forum, instead of here. http://www.pjrc.com/teensy/index.html
Note, both the Due and the Teensy 3.0 use 3.3v power supplies instead of 5v. So you need to make sure that the voltages are safe for your devices.
That being said, if you want the least amount of hassle and change to your current setup, you should get a Mega.
On your Uno, you could potentially run your bluetooth on ports 0/1 (unplugging the bluetooth when you are uploading your sketches just to be safe) using the hardware serial port, and then use the software serial for the GPS. I’ve used software serial on my Uno to connect to a Seeedstudios bluetooth shield that used pins 6/7 (with a jumper to use pins 0/1). From the documentation, the main problem occurs when you want to use two software serial devices. Given the software nature, it may break down if you try to pump really large volumes of data through the serial port, but I don’t think either a bluetooth serial modem or a gps would send so much data, you might lose it.