Still, how do you advise one go about "making sure your day-to-day responsibilities don't take up much time, refusing to work on projects that will pull your career in the wrong direction"?
On the first, it seems that the solution a lot of people take is to have short job tenures, because (in the absence of mentorship or high-level interest in career development) responsibilities accumulate while learning opportunities tend to get rarer, so a lot of people leave once the responsibility/learning balance tilts out of their favor. The problem with this strategy is that, at some point, having a string of 6- to 18-month job tenures starts to look really bad.
The second is even more tricky. Most people aren't in the position of being able to "refuse to work on" bad projects, especially since it's obvious what the person's doing. It seems like this is a recipe for getting fired (which may help a person's career in the long run by preventing a rut, but is something most people would rather avoid).
On top of that, there's the even harder question of how to know that the direction a project will pull a person's career in the first place. It's rarely obvious. Sometimes, doing the grunt work makes a person more trusted and puts him in line for the best projects. Sometimes, it leads to more grunt work and otherwise goes nowhere. These depend on the individuals involved and it can't easily be broken down into simple if-then rules.
The strategy that most people seem to follow is to change jobs frequently until they find a fit. The problem with that is that, although the "job hopper" stigma is much less severe than it was 20 years ago, it still exists.
"[P]erhaps most importantly, understanding how connections are really formed"
How are they really formed? There are a lot of pet theories on this one, but it's not clear which of them (if any) is right. And people tend to be different enough that I'm skeptical that there is a general-purpose answer to the social engineering problem.