I believe the top prospects in basketball right out of high school are NBA ready, however I feel strongly that they should attend college for at least 2 years. College often provides the foundation for people to develop a sense of responsibility.
Regarding the NFL the current rule is sufficient. Bigger, stronger, faster... Football is a much more physical game than basketball and players need more time to develop.