These are generally known as ensemble methods. Your method is essentially what Scikit-Learn's
VotingClassifier does, which is perfectly reasonable and might give you better results. Of course, if you have an ensemble of classifiers and some of them perform quite poorly, the ensemble might not be able to beat the best classifier: you'll need to check this in your cross-validation. Be aware that any confidence or probability estimates may not be well-calibrated, so the predictions from the ensemble may not be particularly meaningful.
There are more elaborate ways of ensembling classifiers. Random forest classifiers, for example, are just ensembles of decision trees; a technique called bagging is also used here to improve performance.
The technique of using a second model to weight the predictions from an ensemble is known as stacked generalisation. It was introduced by Wolpert in 1991 , and you can find plenty of interesting examples of using the technique, e.g. on Kaggle.
 David H. Wolpert. Stacked generalization. Neural Networks 5.2 (1992), pp. 241-259.