The deal is worth $7.25 million and includes $4 million in guaranteed money, a league source told ESPN NFL Insider Adam Caplan.
A former starter with the Buffalo Bills, Fitzpatrick spent last season with the Tennessee Titans as the replacement for Jake Locker when he was injured, starting nine games and going 217 of 350 for 2,454 yards with 14 touchdown passes and 12 interceptions.
Fitzpatrick, who signed a two-year contract with the Titans last March, was released last week when Tennessee signed Charlie Whitehurst.
Fitzpatrick, 31, has thrown for 16,790 yards, 106 touchdowns and 93 interceptions in 85 career games.
Schaub struggled for the Texans last season, throwing 14 interceptions before losing his starting job to Case Keenum.