Recently I found out that over 70% of generals in the Yugoslav Army were either Serb or Montenegrin. How did Tito, as an ethnic Croat, reconcile this bias?
While ratios changed over time, Serbs generally were overrepresented in army and police relative to the population, Montenegrins even more so. Croats were generally underrepresented, Slovenes even more so. However, that was not due to some state or army policy, rather it was despite it.
Ideally, army would have the same national composition as Yugoslavia as a whole. But that was easier said than done. Carriers in the army (and police) were as a rule much more attractive to people coming from poorer rural areas than from more prosperous and / or urban ones. As it happens, many of the poorest areas in Croatia and Bosnia were also areas with largest Serb population (there is no causal relation, at lest not with regards to Yugoslavia, but rather to do with frontiers established between Hapsburgs and Ottomans from 16th century onward). Even poorer areas, like Kosovo or Macedonia, were not overrepresented, but that it due to somewhat more pronounced language differences (Macedonians) and complicated, often tense relations between Kosovar Albanians and the state.
So, while it was a common preoccupation to have as close to national balance, at least in higher command, it could not be easily achieved.
As for Tito and his view on nationalities, Croatian in particular, it is quite difficult to say. Socialist concept of Yugoslavism was supra-national, compatible with particular national identities. Most of those identifying themselves as Yugoslav (rather than Serb, Croat, Slovene, etc.) by nationality were from mixed marriages. Tito neither denied nor made much of his Croat origin, a pragmatic stance as his position was above all as a supreme arbiter between different political currents, and that depended on him being accepted as unbiased.
Sources I can't name now with any certainty but if needed I can check later in the day which particular works address those issues.