Determining pulse shape for Viterbi Equalization
I'll answer my own question with what I've learned in the past 28 days. Hopefully I've got it right!

Viterbi equalization is just one way to equalize the channel, as an alternative to some other method such as convolving the signal with an equalizing filter. Estimating the channel is an entirely separate problem which must be solved independently of the equalization method.

The trouble with an equalizing filter is it compensates for dips in the channel frequency response by amplifying those frequencies. Unavoidably, the noise is also amplified.

There's a tradeoff to be made: the flatter the frequency response is made, the lower the error due to ISI, but the higher the error due to noise. There's an optimal amount of equalization which minimizes the error due to noise and ISI. An equalizer that tries to hit this sweet spot is a minimum mean square error (MMSE) equalizer.

Viterbi equalization offers an alternative solution. The channel estimate will produce an estimated channel impulse response. The coefficients in this impulse response can be used to build the trellis, and the Viterbi algorithm can then find the most likely sequence of transmitted bits, taking into account the estimated distortion from the channel. The receive filter remains a simple matched filter, with no equalization. The Viterbi equalizer is not linear (unlike the equalizing filter alternative), so it's able to compensate for deep spectral nulls in the channel response in a way the equalizing filter can't. The cost is increased complexity.