Scalability can be a difficult question to answer, as there are many factors that can cause issues. DotNetNuke has no problem handling large numbers of users (this site alone has over 700,000 and is running on modest hardware - 2 webservers, 1 db server, and a NAS. We managed for many years with only 1 webserver and 1 db server)
However, there are a few rules-of-thumb, that i'd recommend considering.
Subsites in DNN are known as portals (either child portals or parent portals). One thing to note is that seperate portals have seperate user bases, so if you want cross-portal users you have to use some 3rd party tools if you want cross-portal logins/user syncronisation (apart from the host, or any other superuser's who have access to all portals). Whilst many people run a large number of portals , there are known scalability problems due to some of the necessary sql queries ran . Whilst I know of some sites with 3000+ portals running succesfully, I know of at least one that had major problems when they reached 4000+ sites. Obvious superior hardware can mitigate some of this, but IMO planning to run 1000's of portals is risky, and you should do some scalability testing. Running a smaller number like you've asked such as 100, will be fine. If you choose to use portals as a form of site virtualisation to create multiple sub-sites with only 1 code base/database, then if you have to do a database restore you are affecting the data for all sites . Theres no fixed guidance here, it's up to the site developer to determine the risk/reward. Often people will create a seperate DNN for mission-critical sites, but use 1 instance for non-critical sites. There are some 3rd party tools that help with portal extraction etc., that may be worth considering.
Another item to be aware of is security roles. Some sites go crazy and create 100's of security roles but this query can again impact. I'd recommend keeping the number of roles low. I've seen sites that tried to create 1 role per user, to allow that user to maintain a personal page, and they've ran into troubles (plus as you can grant permissions at the user level this is not necessary)
As for modules that don't filter based on portalID, they're just poorly written. All core modules are portal and module aware, and I believe the huge majority of free and commercial modules are.
Cathal