it's true that many things cut down the number of upperclassmen on D1 rosters -- the draft being one of them. Some of the power schools seem to lose a significant chunk of their junior class each year to the draft. Then there are injuries, on and off the field failure, and burn-out. So you're right that it probably isn't right to think of 1/2 of D1 rosters as consisting of draft eligible juniors and seniors. But still, even if you take account of attrition, I would bet it's still true that the VAST majority of D1 players don't get drafted.
Here's a somewhat random sample -- trying to pick a range of schools -- and how many of their draft eligible players got drafted in 2015.
- Of the 21 draft eligible players at the University of Notre Dame this year exactly 1 got drafted.
- Of the 20 draft eligible players at Ohio State 4 got drafted
- Of the 17 draft eligible players at Cal State Long Beach 2 got drafted.
- Of the 9 draft eligible players at Vanderbilt, all 9 got drafted. (wow)
- Of the 13 draft eligible players at Umass Amherst, 0 got drafted.
That's 5 schools from different parts of the country, with 80 total draft eligible players, of whom 16 got drafted -- over half of them from a single power house school. If that pattern generalizes over the roughly 300 D1 schools that means on the order of 20% will get drafted. Of course, as you yourself point out, the attrition along the way is not insignificant. So even if you land a D1 spot, you have to run the gauntlet before becoming draft eligible.