Penney (73), who made only one Championship 50 last summer, registered his highest county score for two years and Piper (66) topped 50 for the first time since August 1996. Their fourth-wicket stand of 124 undid Somerset's hopes of exploiting a damp, seaming pitch when their new Tasmanian captain, Jamie Cox, won the toss.
Somerset's five pace bowlers beat the bat often enough but failed to make the most of the conditions after an early success for Matthew Bulbeck.
The England Under-19 left-armer made it a brief return to county cricket for Nick Knight when the World Cup opener was caught behind for one. Mark Wagh (44) and David Hemp (47) then seized the initiative for Warwickshire with a partnership of 62 before Wagh was taken at second slip off Graham Rose.
The left-handed Hemp became a second victim for the wicketkeeper Rob Turner, giving Jason Kerr his first Championship wicket for two years after missing most of last season with a shoulder injury.
Somerset were again unable to capitalise on a breakthrough as Penney worked hard to reclaim the place he lost last year through injury. Piper was equally determined in his new role at No 5 - the highest position of his career - and both batsmen drove and pulled with aplomb.
A dozen boundaries helped Piper to 66 from 103 balls before Andrew Caddick found a fuller length and some away movement to produce another catch for Turner. Penney, who scored a first class century in Zimbabwe in January, took over two-and-a-half hours to reach his first Championship 50 since last June. He hit nine boundaries in all before fending a catch to Cox in the gully from a Kerr delivery which lifted sharply.
Bulbeck and Caddick struck again late in the day, but only after a partnership of 60 by Neil Smith (37) and Dougie Brown who added an unbeaten 55 to last week's maiden century against Northamptonshire.
Somerset won toss
WARWICKSHIRE - First Innings
N V Knight c Turner b Bulbeck 1
M A Wagh c Trescothick b Rose 44
D L Hemp c Turner b Kerr 47
T L Penney c Cox b Kerr 73
K J Piper c Turner b Caddick 66
D R Brown not out 55
*N M K Smith c Cox b Bulbeck 37
A F Giles lbw b Caddick 1
G Welch not out 23
Extras (lb9) 9
Total (for 7, 104 overs) 356
Fall: 1-3 2-65 3-105 4-229 5-242 6-302 7-303.
To bat: T A Munton, E S H Giddins.
Bowling: Caddick 32-10-90-2; Bulbeck 23-6-83-2; Rose 24-5-90-1; Kerr 15-5-44-2; Burns 8-2-29-0; Pierson 2-0-11-0.
SOMERSET: *J Cox, P D Bowler, P C L Holloway, M E Trescothick, M T Burns, J I D Kerr, R J Turner, G D Rose, M P L Bulbeck, A R K Pierson, A R Caddick.
Umpires: D R Shepherd and M J Harris.Reuse content