This is a really interesting topic. The problem is you can't use SB totals to rate these guys' speed very accurately, since a requirement for a stolen base is to REACH base in the first place, so a guy could be fast as all get out, but if he's a terrible hitter/cannot take a walk to save his life, he'll have low SB totals. SB% may help with that, but one season of it isn't a very big sample size. Also, guys' speed can vary drastically at any point based on current nagging injuries, etc.
Plus, some guys can have high SB totals or a high SB percentage not because they are particularly fast, but are just better at reading pitchers. Sadly, it's difficult to accurately reflect all that kind of stuff with only a few player ratings.
I don't know if teams keep track of their players' 40m sprint times or anything, like if they time them all at the beginning of spring training or something, but that'd seem like the best data for just straight Speed rating. Then Steal rating would probably have to be a combo of their Speed rating combined with their SB% over the last 3 years or so.
I'd say you could just time the player's speed in game situations (home to first etc) but then you get problems with whether they're in a full hustle or not going full speed for whatever reason.
This is fun to think about though.