Caprio, William & Mary's third different starting quarterback this season, finished with 220 yards on 18-of-28 passing. His first touchdown pass, a 22-yarder to McBride, gave the Tribe (2-4) a 24-7 halftime lead.
Penn cut the deficit to 24-14 but Caprio's second touchdown pass, this time a 5-yarder to Sean Ballard, extended William & Mary's lead to 31-14 with 7:24 left in the third quarter.
McBride, who also hauled in seven passes in the Tribe's Sept. 22 matchup with Delaware, finished with 128 yards and has registered at least one reception of 20 yards or longer in the last six games.
Billy Ragone led Penn (1-3) with 207 yards and two touchdowns on 21-of-35 passing but was sacked four times.
Michigan coach Jim Harbaugh said Tuesday he has informed competing quarterbacks Jake Rudock and Shane Morris of his decision on a starter for the Wolverines' opener Thursday night at Utah.
Michigan State quarterback and Heisman Trophy hopeful Connor Cook said he was disappointed his teammates didn't vote him among the team's three captains this season.
Former Oklahoma State return man and running back Ty Hill, who was dismissed from OSU's program after his arrest on domestic violence charges, has enrolled at West Alabama.
A months-old Facebook post has cost the Nebraska football stadium announcer his job one day after his hiring was announced.
UCLA junior cornerback Ishmael Adams has been suspended indefinitely following a robbery arrest early Sunday morning, coach Jim Mora said Tuesday.
No. 5 Michigan State will start redshirt freshman Vayante Copeland at one of its two cornerback spots Friday night at Western Michigan.