You can't exclude a table from section access unless you create an island table, but you can create rows in your fact table that only have the user keys and all the possible dates without any information in the other columns.
In the script, if you join the user table and calendar table with since they don't share a key, the resulting table will be the cross product of the two tables (ie. each user will have all the possible dates associated with him or her). Then concatenate that table with the fact table. All the other columns will be null in those rows, but the calendar will not be reduced since each user is related to all calendar dates. It's like having rows that explicitly show that the user had no activity during those dates.