In the group where I've often played Pit, we discarded the Bull and Bear cards before shuffling. It makes the game simpler and better, in my humble opinion.
That being said, we can still debate which is the best solution if you do want to keep those cards. MrHen's solution may well win that honour. A different option would be to discard two cards at random every time you deal. The advantage is that the playing field is level; however, there are up to two commodities that cannot be completed. But in this version, all players are equally likely to be affected.
I could see a few variants of this variant:
Make the discarded cards secret. At the end of every round people are going to be frustrated that their chosen commodity was unwinnable.
Make the discarded cards public. Now all commodities of the discarded type are effectively Bear cards.
Start a timer for (say) 30 seconds when the round starts. At the end, if no one has won yet, play is interrupted and one of the discarded cards is made public. Players try not to give away that they were close to finalizing a "doomed" commodity. Play continues for another 30 seconds and is interrupted again to make the last card public. Chaos ensues.