What you're running into is a problem with tactics, not the rules. If there are two characters that are near eachother, but not adjacent, then you are correct that if the faster combatant moves in close, they will be attacked first. However, they don't have to take the Move or Move and Attack action to get the first strike.
Instead, take the Wait action. Wait allows you to:
Do nothing unless a particular
event you specified in advance
occurs before your next turn; e.g., a
foe moves into range. If that happens,
you may transform your Wait
into an Attack, Feint, All-Out Attack
(you must specify the option before
acting), or Ready maneuver. If you
are reacting to someone else, this
interrupts his turn, but he can
resume it after you’ve acted.
Emphasis mine. In this case, the faster character should Wait until their enemy comes in melee range, and then Attack or All-Out Attack. Alternately, you could take the All-Out Attack action directly. That lets you move up to half your speed as part of the attack. Note, however, that the character that chooses to move up might choose to take an All-Out Defense (Dodge) which lets them move half their speed and get a +2 to their Dodge defense, possibly negating the stationary character's attack. GURPS melee combat between two intelligent opponents is a lot like actual combat between intelligent opponents; it's a string of bluffs and double-bluffs to try and trick your opponent into giving you the advantage.
In every system that I know of that includes tactical combat, there is a way to respond to an enemy's action like this.
Another possible option is an initiative system from one of the World of Darkness systems. Basically, you have every combatant choose their actions in reverse initiative order: the slowest character picks their action, then the next slowest, all the way to the highest. Once all actions are selected, you execute in order of initiative. Using your situation as an example:
- Slow fighter declares intent to stay put, and defend.
- Fast fighter declares intent to move up to slow fighter.
- Fast fighter moves up.
- Slow fighter starts defending.
Then, the next round, you do it again. I'm pretty sure this system also had you re-roll initiative each round, so different people went at different times each round.
In combats that involve more than two characters in GURPS, you can use your opponent's reluctance to make the first move to your advantage. Since facing matters in GURPS, you can use the time your opponent spends not charging you to set up a flanking position with an ally, or move off to deal with another threat, or just hold your opponent still until your ranged attacking allies can whittle them down.
The reason for this is that GURPS is meant to model reality very closely, and with a 1 second combat round, there just isn't time to move several yards and also make an accurate attack without also giving up your defenses. If you watch actual melee combat, when the fighters get close they typically have a strongly defensive stance until one of the combatants makes an attack. This would be modeled by both combatants taking All-Out Defense actions until both were in melee range, and then starting to use other Attack options.