Terms of the contracts were not released.
The 30-year-old Richards had eight goals and 13 assists in 45 games with the Vancouver Canucks last season. He has 62 goals and 87 assists in 10 NHL seasons that include stops with the Canucks, Los Angeles Kings and Colorado Avalanche.
A stay-at-home defenseman, Michalek played for the Coyotes from 2005 to 2010 and 2012 to 2015. He was traded to St. Louis in a deadline deal last season, finishing with two goals and two assists in 15 games with the Blues.
Arizona received prospect Maxim Letunov and a third-round draft pick in 2015 in return for the 32-year-old Michalek.
The Czech defenseman, who completed a five-year, $20 million contract in the 2014-15 season, has 40 goals and 131 assists in 711 games during his 10-season career.
The Associated Press contributed to this report.