The little difference in weight does not outweigh the shield's superior protection.
Note that bucklers have [UPSTEP:1], and shields have [UPSTEP:2]
This means that bucklers protect the hand (where it is worn), plus the lower arm (one step 'up' from the hands), while shields protect hand, lower arm AND upper arm.
Note that this is seperate from their blocking ability. The protection mentioned is the armor protection it gives apart from being able to block incoming attacks.
I don't think there's any difference in their chance to 'block' an attack, but I could be mistaken there.
EDIT: shields have [BLOCKCHANCE:20], bucklers have [BLOCKCHANCE:10]. ANother reason to prefer shields over bucklers
If you want your marksdwarves to be fast, pick dwarves that have a good agility.
Also, to train your marksdwarves up fastest, don't use archery ranges. Instead, make them hunt for a year, before enlisting them.
Have them use bone bolts for this. It will give them some more shots per kill, adding to the rate of training.
Train their other combat skills in a danger room.
As for my marksdwarves' outfit, they wear full metal armor, plus a cloak or three, like the rest of my military.
A good strategy to adopt is to crosstrain marksdwarves as hammerdwarves. Do this by making sure they have no ammo, and unleashing them on goblin prisoners that have been robbed of their weapon, but not their armor, while using wooden or bone crossbows.