The advances in WiFi technology have encouraged the development of numerous indoor positioning systems. However, their performance varies significantly across different indoor environments, making it challenging in identifying the most suitable system for all scenarios. To address this challenge, we propose an algorithm that dynamically selects the most optimal WiFi positioning model for each location. Our algorithm employs a Machine Learning weighted model selection algorithm, trained on raw WiFi RSS, raw WiFi RTT data, statistical RSS & RTT measures, and Access Point line-of-sight information. We tested our algorithm in four complex indoor environments, and compared its performance to traditional WiFi indoor positioning models and state-of-the-art stacking models, demonstrating an improvement of up to 1.8 meters on average.