Если одного только Beautiful Soup недостаточно, вы можете прибегнуть к регулярному выражению.
import re
ch = 'sunny day<td><div><span><b>Patienten</b></span></div></td>rainy week'
# <td><b>Patienten</b></td>
RE = '(<td>)<div><span>(<b>.*?</b>)</span></div>(</td>)'
pat = re.compile(RE)
print ch
print pat.sub('\\1\\2\\3',ch)
result
sunny day<td><div><span><b>Patienten</b></span></div></td>rainy week
sunny day<td><b>Patienten</b></td>rainy week
Легко, просто, не правда ли?
Предварительная проверка может быть проведена, чтобы определить, действительно ли замена должна быть сделана.