I absolutely agree that 1000s of events put a heavy burden on a mobile CPU, so that’s a kind of “worst case scenario”!
Nevertheless - you might take it as enhancement request - to subscribe to a new calendar feed, only a basic check of the file should be sufficient, no need to parse all events in the whole file. Later on, when the calendar synchronized for the first time, ICSDroid would have to parse the whole file anyway.
This would enhance the user experience (quickly subscribing to new calendar feeds) without impacting the quality (a calendar file, which is fine when accessing it the first time, might get invalid over time due to remote updates anyway).
Just my two cents…