The hosts, chasing 379 to win, began slowly and Chopra's caution increased after a middle-order collapse of three wickets for 25 runs.
The opener laboured for five and a half hours for his 17th first class century off 269 balls and ended on 119 not out.
Tim Ambrose (29) also played a patient innings, despite being forced to use a runner after suffering a leg injury.
Hampshire bowled tightly on a pitch that became easier for batting as the day went on, with Warwickshire scoring 65 runs in the morning session.
Ian Westwood (40) was trapped lbw by Andre Adams before lunch and three quick wickets after the interval strengthened the home side's decision to play for the draw.
James Tomlinson picked up two scalps, including Ireland captain William Porterfield (29), before Chopra guided his side to safety.
Despite scoring just 26 runs in the post-lunch session, Chopra scored more freely as he moved towards his first century as Warwickshire skipper.
The draw came shortly after Ambrose chipped a full delivery from Will Smith to Gareth Berg at extra-cover.
The wicket-keeper batted for an hour with a runner after suffering a gluteal strain before tea, which may rule him out of Sunday's game against champions Yorkshire.
Warwickshire captain Varun Chopra:
"They bowled well and made it hard for us to score on a pitch which got slower the longer the game went.
"At the start of the day our intention was to go for the win but it was a case of taking it session by session. After Sam Hain got out and we were four wickets down, and we didn't really have any momentum to the scoring, it was always going to be pretty tough.
"But overall I was quite pleased with the way we played. There were some good performances from us, with a six-for and two centuries."
Hampshire captain Jimmy Adams:
"At the start of the last day I thought a draw was probably the least likely result.
"The previous evening Warwickshire had got away from us a little bit and if they had started the same way today then things could have been a lot different.
"But the guys bowled well and I am really happy with the way we played over the four days."
An unbeaten century from captain Varun Chopra secured a draw for Warwickshire against Hampshire at Edgbaston.