How about this?
With GPS groundspeed and track readout, you should be able to easily work out head/tailwind component (if you know your TAS) and drift angle.
Now crosswind component = drift x (TAS/60), so you can fairly simply work out the crosswind in knots too.
Given both those, drag out the dreaded whizzwheel and plot them and you can read off the wind.
Example: 180 KTAS, groundspeed 150, track 180, heading 187.
Headwind component 30 kt.
Crosswind - 180/60 x 7 = 21 knots from the right.
Putting those on the whizz wheel, I get a wind of about 215 at 36 kt.
Sound reasonable?